...
- Start the Identity Server and access the management console using https://localhost:9443/carbon/
- Log in to the Identity Server using default administrator credentials (the username and password are both "admin").
- In the management console found on the left of your screen, navigate to the Main menu and click Add under Service Provider.
- Expand the Inbound Authentication Configuration section and then expand SAML2 Web SSO Configuration.
- Click Configure. The following form appears.
Register the new service provider by providing the following values. See Configuring Inbound Authentication for a Service Provider for more information on the fields available in this form.Issuer: This is the entity id for SAML2 service provider. In this case, you can use travelocity.com.
Info This value should be same as the
SAML.IssuerID
value specified inside thetravelocity.com/WEB-INF/classes/travelocity.properties
file.Assertion Consumer URL: This is the Assertion Consumer Service (ACS) URL of the service provider. The identity provider redirects the SAML2 response to this ACS URL. However, if the SAML2 request is signed and SAML2 request contains the ACS URL, the Identity Server will honor the ACS URL of the SAML2 request. A sample value for this can be:
http://localhost:8080/travelocity.com/home.jsp
Info This value should be same as the
SAML.ConsumerUrl
value mentioned inside thetravelocity.com/WEB-INF/classes/travelocity.properties
file.- NameID format: The service provider and identity provider usually communicate with each other regarding a specific subject. That subject should be identified through a Name-Identifier (NameID) , which should be in some format so that It is easy for the other party to identify it based on the format. There are some formats that are defined by SAML2 specification. Enter the default value of this format here (i.e.,
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
). - Use fully qualified username in the NameID: Set this as true by selecting the checkbox. A fully qualified username is basically the user name with the user store domain. In short, the username must be in the following format:
{user store domain}{user name}
. - Enable Response Signing: Set this as true by selecting the checkbox. This is used to sign the SAML2 Responses returned after the authentication process is complete.
- Enable Assertion Signing: Set this as true by selecting the checkbox. This is done to sign the SAML2 Assertions returned after the authentication process. SAML2 relying party components expect these assertions to be signed by the Identity Server.
- Enable Signature Validation in Authentication Requests and Logout Requests: Set this as true. This specifies whether the identity provider must validate the signature of the SAML2 authentication request and the SAML2 logout request that are sent by the service provider.
- Enable Assertion Encryption: This defines whether the SAML2 assertion must be encrypted or not.
- Certificate Alias: Select wso2carbon here. This is used to validate the signature of SAML2 requests and is used to generate encryption.
- Enable Single Logout: Set this as true by selecting the checkbox. Do this to ensure that all sessions are terminated once the user signs out from one server.
Enable Attribute Profile: The Identity Server supports a basic attribute profile where the identity provider can include the user’s attributes in the SAML Assertions as an attribute statement. You can define the claims that must be included under service provider claim configurations. Also, once you select the “Include Attributes in the Response Always” checkbox, the identity provider always includes the attribute values related to selected claims in the SAML Attribute statement.
Enable Audience Restriction: You can define multiple audiences in the SAML Assertion. Configured audiences would be added into the SAML2 Assertion.
Enable IdP Initiated SSO: The service provider is not required to send the SAML2 request when this is enabled.
- Configure claims for the service provider. To do this, do the following.
- Expand the Claim Configuration section in the service provider form.
- You can select the claims that must be sent to the service provider. If you just want to send them as claim URIs, select Use Local Claim Dialect. Mark them as Requested Claim.
- Alternatively, if you want to define new claim URIs for the attributes that are sent, you can define any values for them and map these values with the claim URIs local to WSO2. For example, you want to set the email address of the user as
http://testclaims.com/claims/emailaddress
claim URI, you can define it here and map it in tohttp://wso2.org/claims/emailaddress
. To specify this, go to the Advanced Claim Configuration section, select the select the Define Custom Claim Dialect option and click Add Claim URI. Enter the Service Provider Claim URIs and select the matching local claim from the dropdown and click Add Claim to do the mapping.. You can also mark them as a Requested Claim.
- Configure outbound authentication as Default authentication type. This specifies that the identity provider authenticates the users with the username/password by validating with the identity provider's user store.
- After providing the above information, click Register.
...