Search code examples
yii2single-sign-onsamlonelogin

SAML certificate authentication vs login


I have a working implementation of SAML (OneLogin) within an enterprise architecture.

When a guest user arrives at my application they are redirected to the company login where they enter their username / password. After that the user identity is passed back to my application and we log them in.

However, I notice that in other applications within the company I do not have to login at all. Somehow the website "knows who I am" and seems to authenticate me automatically. I presume there is some form of certificate on my pc / browser which the other applications are passing to the SAML??

Can somebody tell me the technical term or process? Is there a process whereby I simply pull the certificate from the browser or PC and pass it to the SAML? I would like my users to be able to auto-login without entering their credentials.

Thanks


Solution

  • After a LOT of research and testing I finally have the answer to this question, and it is incredibly simple!

    In summary: I have a working solution with OneLogin that sends me to a page like this:

    https://sts.companyname.com/adfs/ls
    

    The url is specified in the config: saml->config->idp->singleSignOnService->url

    However, this page requires the user to enter their username and password and, instead, I would like the system to be fully seamless.

    The solution, it turns out, is simply to hyperlink to the following url:

    https://sts.companyname.com/adfs/ls/IdpInitiatedSignon.aspx?LoginToRp=https://mypage.com/saml/metadata
    

    where "loginToRp" url is the url provided in saml->config->sp->entityID

    The ADFS IDP Initiated Signon will connect to your metadata schema and automatically log the user in (without the user needing to provide any credentials)

    NOTE: this only applies to intranet sites in a corporate environment