This documentation is for WSO2 API Manager 2.0.0 View documentation for the latest release.
Page Comparison - Configuring Identity Server as IdP for SSO (v.19 vs v.20) - API Manager 2.0.0 - WSO2 Documentation

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: formatted

...

  1. Start WSO2 Identity Server.

    Code Block
    ./wso2server.sh -DportOffset=1
    Tip

    You also can change Port offset value by changing <Offset> 1 </Offset> under <Ports> in  <IS_HOME>/repository/conf/carbon.xml file.

    Info
    titleWhat is port offset?

    The port offset feature allows you to run multiple WSO2 products, multiple instances of a WSO2 product, or multiple WSO2 product clusters on the same server or virtual machine (VM). The port offset defines the number by which all ports defined in the runtime, such as the HTTP/S ports, will be offset. For example, if the HTTPS port is defined as 9443 and the portOffset is 1, the effective HTTPS port will be 9444. 

  2. Sign in to the WSO2 IS Management Console UI ( https://localhost:9444/carbon).

    Tip

    If you use signin pages that are hosted externally to sign in to the Identity Server, give the absolute URLs of those login pages in the authenticators.xml and application-authenticators.xml files in the <IS_HOME>/repository/conf/identity directory.

  3. Select Add under the Service Providers menu.
  4. Give a service provider name and click Register.

    Tip

    In a multi tenanted environment, for all tenants to be able to log in to the APIM Web applications, do the following:

    • Click the SaaS Application option that appears after registering the service provider.

      If not, only users in the current tenant domain (the one you are defining the service provider in) will be allowed to log in to the Web application and you have to register new service providers for all Web applications (API Store and API Publisher in this case) from each tenant space separately. For example, let's say you have three tenants as TA, TB and TC and you register the service provider in TA only. If you tick the SaaS Application option, all users in TA, TB, TC tenant domains will be able to log in. Else, only users in TA will be able to log in.

    • Add the following inside the <SSOService> element in the <IS_HOME>/repository/conf/identity/identity.xml file and restart the server.

      Code Block
      <SSOService>
            <UseAuthenticatedUserDomainCrypto>true</UseAuthenticatedUserDomainCrypto>
            ...
      </SSOService>

      If not, you get an exception as SAML response signature verification fails.

    • Because the servers in a multi-tenanted environment interact with all tenants, all nodes should share the same user store. Therefore, make sure you have a shared registry (JDBC mount, WSO2 Governance Registry etc.) instance across all nodes.
  5. You are navigated to the detailed configuration page. Inside the Inbound Authentication Configuratio n section, expand SAML2 Web SSO Configuration and click Configure.

    Note

    To enable tenant specific SSO with IS 5.2.0 for API_PUBLISHER and API_STORE, enable Use tenant domain in local subject identifier and Use user store domain in local subject identifier under the Local & Outbound Authentication Configuration section.

  6. Provide the configurations to register the API Publisher as the SSO service provider. These sample values may change depending in your configuration.

      • Issuer: API_PUBLISHER
      • Assertion Consumer URL:  https://localhost:9443/publisher/jagg/jaggery_acs.jag. Change the IP and port accordingly. This is the URL for the acs page in your running publisher app.
      • Select the following options:

        • Enable Response Signing

        • Enable  Single Logout

      • Click Register once done.

    For example:

  7. Similarly, provide the configurations to register the API Store as the SSO service provider. These sample values may change depending in your configuration.

      • Issuer: API_STORE
      • Assertion Consumer URL:  https://localhost:9443/store/jagg/jaggery_acs.jag . Change the IP and port accordingly. This is the URL for the acs page in your running store app.
      • Select the following options:
        • Enable Response Signing
        • Enable Single Logout
      • Click Register once done.
  8. Make sure that the responseSigningEnabled element is set to true in both the following files:
    • <API-M_HOME>/repository/deployment/server/jaggeryapps/publisher/site/conf/site.json
    • <API-M_HOME>/repository/deployment/server/jaggeryapps/store/site/conf/site.json

...