Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

With the SAML2 relying party capabilities of Carbon, it is possible to set up Single Sign-On between different Carbon instances where Identity Server acts as the Identity Provider while other Carbon Servers act as the relying party. Following is a guide to set up SSO between different Carbon Servers.

Step 1

...

Installing the SAML2 relying party (SAML2 SSO Authenticator) feature in a Carbon Server

SAML2 relying party components are not shipped with the default Carbon distribution. However, these bundles are packages that can be installed as a feature, which is available in the online-hosted P2 repository. Therefore, it is possible to install this feature with minimal effort through the Carbon Feature Manager.

  1. Add the WSO2 online P2 repository as a new repository. Usually, the hosted P2 repository is available at this URL: http://dist.wso2.org/p2/carbon/releases/(Carbon-Release-Version). Learn how to add a repository to the Identity Server here.
  2. Search for the word "authenticator." Select "SAML2 SSO Authenticatorbased Single Sign-On authenticator" from the result and click "Install." See Installing Features.

Step 2

...

Configuring the Carbon Server to use the SAML2-based authentication instead of default username/password-based authentication

After installing the SAML2 relying party components (SAML2 SSO authenticator), it is necessary to configure SAML2 SSO authenticator to communicate with the Identity Server for user authentication.

...

Code Block
<Authenticator name="SAML2SSOAuthenticator" disabled="truefalse">
        <Priority>10</Priority>
        <Config>
            <Parameter name="LoginPage">/carbon/admin/login.jsp</Parameter>
            <Parameter name="ServiceProviderID">carbonServer</Parameter>
            <Parameter name="IdentityProviderSSOServiceURL">https://localhost:9443/samlsso</Parameter>
            <Parameter name="NameIDPolicyFormat">urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</Parameter>
		</Config>
</Authenticator>
  • Authenticator disabled - This should be set to false.
  • Priority - This is the priority level of the authenticator. In the Carbon Runtime, the authenticator with the highest priority will be picked up. This value should be greater than 5 in order to supersede the default username/password-based authenticator.
  • Parameter LoginPage - This is the default login page URL of Carbon. All requests coming to this page will be intercepted for authentication. It is not necessary to change this value from the value given in the sample configuration.
  • Parameter ServiceProviderID - This is the unique identifier for the Carbon Server in an SSO setup. This value should be used as the value of the issuer in the Identity Server configuration.
  • Parameter IdentityProviderSSOServiceURL - This is the Identity Server URL to which the users will be redirected for authentication. It should have this format: https://(host-name):(port)/samlsso.
  • Parameter NameIDPolicyFormat - This specifies the name identifier format that the Carbon server wants to receive in the subject of an assertion from a particular identity provider.

Step 3

...

Configuring the Identity Server as the Single Sign-On provider

Finally, you need to configure the Identity Server to act as the Single Sign-on provider. Each relying party should be registered as a service provider at the Identity Server-end. The following is a sample configuration for registering a Carbon server as a service provider.

...