Skip to main content

Configure ADFS

Certainly, presenting the information in a table can help make it easier to understand. Here's how you can structure it:

Before You Begin

Before starting with the ADFS configuration, make sure to have following information:

Information RequiredDescriptionReference
Cinchy SSO URLThe URL of your Cinchy SSO instance{your.cinchysso.url}
Cinchy URLThe URL of your main Cinchy instance{your.cinchy.url}
Cinchy SSO Installation PathDirectory where CinchySSO files are located{Path/to/CinchySSO}
ADFS ServerThe URL of your ADFS server{your.ADFS.server}

Having these details readily available will streamline the ADFS configuration process.

Configuration Steps in ADFS

  1. Navigate to AD FS Management on your ADFS server.

  2. Right-click on Relying Party Trusts and choose Add Relying Party Trust to open the Add Relying Party Trust Wizard.

  3. In the wizard, select Claims Aware > Start > Select Data Source.

  4. Select Enter Data About the Relying Part Manually > Next.

  5. Fill in a Display Name under Specify Display Name.

  6. Skip certificate configuration in Configure Certificates.

  7. In Configure URL, select Enable support for the SAML 2.0 SSO Web SSO protocol.

  8. Input your login URL as follows:

    https://{your.cinchysso.url}/Saml2/Acs
  9. Under Configure Identifiers, add an Identifier and press Next to complete the setup.

Set up Claim Issuance Policy

  1. Right-click on the newly created Relying Party Trust (located by its Display Name) and select Edit Claim Issuance Policy.
  2. Select Add Rule > Claim Rule > Send LDAP Attributes as Claims.
  3. Input a Claim Rule Name.
  4. In the Attribute Store, select Active Directory. Map the LDAP attributes to the corresponding outgoing claim types as shown in the table below:
LDAP AttributeOutgoing Claim TypeComments
User-Principal-NameName ID
SAM-Account-NamesubType sub manually to avoid auto complete
Given-NameGiven NameRequired for Auto User Creation
SurnameSurnameRequired for Auto User Creation
E-Mail-AddressE-Mail AddressRequired for Auto User Creation
Is-Member-Of-DLRoleRequired for Auto User Creation

Image 2: Add Transform Claim Rule Wizard

  1. Select Finish.

  2. Select Edit Rule > View Rule Language. Copy the Claim URLs for later use in configuring your Cinchy appsettings.json. It should look like the following:

    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
    => issue(store = "Active Directory",
    types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
    "sub",
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname",
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname",
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
    "http://schemas.microsoft.com/ws/2008/06/identity/claims/role"),
    query = ";userPrincipalName,sAMAccountName,givenName,sn,mail,memberOf;{0}",
    param = c.Value);
  3. Press OK to confirm and save.

  4. Right-click on Relying Party Trust > Properties. Move to the Advanced tab and select SHA-256 as the secure hash algorithm.
    Image 3: Set the secure hash algorithm to SHA-256

Configuration for Cinchy

info

Note: Please ensure that the configurations below are case-sensitive and align exactly with those in your SAML IdP setup.

Initial setup

  1. Retrieve and save the Federation Metadata XML file from the following location: https://{your.ADFS.server}/FederationMetadata/2007-06/FederationMetadata.xml.
  2. If needed, use IIS Manager to establish an HTTPS connection for the Cinchy website.
  3. Also establish an HTTPS connection for the SSO site. Make sure the port number aligns with the one specified in the login URL.

Configuration for appsettings.json

App Settings Section

AttributeValue or Description
CinchyLoginRedirectUriURL of the user login redirect
https://{your.cinchysso.url}/Account/LoginRedirect
CinchyPostLogoutRedirectUriURL of the user post-logout redirect
https://{your.cinchy.url}
CertificatePathPath to Cinchy SSO certificate
{Path/to/CinchySSO}\\cinchyidentitysrv.pfx
SAMLClientEntityIdRelying Party Identifier from earlier-configured Relying Party Trust
SAMLIDPEntityIdEntity ID for SAML IdP, found in FederationMetadata.xml
http://{your.AD.server}/adfs/services/trust
SAMLMetadataXmlPathLocation of saved FederationMetadata.xml from Initial setup
SAMLSSOServiceURLURL path in Domain Controller's in-service endpoints
https://{your.AD.server}/Saml2/Acs
AcsURLModule/Saml2
MaxRequestHeadersTotalSizeMaximum header size in bytes; adjustable if default is insufficient
MaxRequestBufferSizeShould be equal to or larger than MaxRequestHeadersTotalSize
MaxRequestBodySizeMaximum request body size in bytes (use -1 for default; usually no need to change)

External identity claim section

You will need to refer to the Rule Language URLs you copied from the ADFS Configuration. Replace the placeholders below with your own URLs:

{
"AppSettings": {
// Replace placeholders below with URLS
},
"ExternalIdentityClaimSection": {
"FirstName": {
"ExternalClaimName": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"
},
"LastName": {
"ExternalClaimName": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"
},
"Email": {
"ExternalClaimName": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
},
"MemberOf": {
"ExternalClaimName": "http://schemas.microsoft.com/ws/2008/06/identity/claims/role"
}
}
}

Edit web.config

Insert the following lines within the <appSettings> section of your web.config file. Make sure to replace the {your.cinchy.url} and {your.cinchysso.url} with your Cinchy and Cinchy SSO values.

<appSettings>
<!-- Replace placeholders below with URLS -->
<add key="UseHttps" value="true" />
<add key="StsAuthorityUri" value="https://{your.cinchy.url}" />
<add key="StsRedirectUri" value="https://{your.cinchysso.url}/Account/LoginRedirect" />
<!-- -->
</appSettings>