This is how authentication is configured. - The client browser sends the request (URL below) to the ADFS client server, - The ADFS client then looks at the status of the embedded relay and redirects the request to our ADFS server. - Our ADFS will review the request and send the request to our APP.
URL here.
https://clientadfs.clientdomain.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%3A%2F%2ouradfs.ourdomain.com%2Fadfs%2Fls%2F%26RelayState%3DRPID%3Dhttps%3A%2F%2ourapp.ourdomain.com%2Fvaruna%2Fconsole%2Fsso.aspx%3FsamISso%26lang%3Den_CA
The request creates a blank page without errors on the ADFS server.
I got the violinist to track the client. The client uses the email address of users to identify users. I see this email address in the SAML token sent to the ADFS client. This SAML token is sent to our ADFS server, and I see a SAML response that comes out of our ADFS server. This, however, does not have a user email address. I think this is a problem.
On our ADFS server, I have a requirement of this Client (on Trusts Provider Trust) to process the user ID (which is their email address):
Claim rule name: email Incoming claim type: name identifier Incoming name format: email Original name identifier format: email Skip all requirements values.
Here is the application in the claim rule language
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] == "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"]
=> issue(Type = "Email", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
In the ADFS client configuration, this is their email / user configuration:
IssuanceTransformRules : @RuleTemplate = "LdapClaims"
@RuleName = "Pass email"
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccou
ntname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/20
05/05/identity/claims/nameidentifier"), query = ";mail;{0}", param = c.Value);
I have no idea what I'm doing wrong. Can anyone identify my problem? or can you suggest what i should look at?
Thank you for your help!