Use Cases

Delegating all authentication to an external IdP

PingOne provides an authentication policy step that allows you to make an external identity provider (IdP) part of a PingOne authentication policy or delegate all authentication to that external IdP.

Before you begin

You must have:

  • An external IdP defined in your PingOne tenant

  • An authentication policy that specifies that external IdP as the only step

Configuring an external IdP

Before you begin

  • If you want to use OpenID Connect (OIDC), you must configure an OIDC client in PingFederate.

  • If you want to use SAML, you must configure a SAML service provider (SP) in PingFederate.

Steps

  1. In your PingOne tenant, go to Connections → External IdPs and click Add Provider.

  2. Go to Add a Social or Custom Identity Provider → Select an Identity Provider from the Options Below → Custom and click either:

    Choose from:

    • OpenID Connect

    • SAML

      Screen capture of the Add a Social or Custom Identity Provider window showing OpenID Connect and SAML options near the bottom.
  3. If you clicked OpenID Connect:

    1. In the Create Profilewindow, in the Name field, specify a name for the IdP (used only in the PingOne console) and click Continue.

      igv1621366618264
    2. In the Connection Details section, in the Client ID and Client Secret fields, enter the client ID and client secret from the external IdP.

      This must be an auth-code client.

      Screen capture of the Configure OpenID Connect Connection window showing the required Client ID and Client Secret fields.
    3. In the Discovery Details section, you can provide the OpenID well-known endpoint in the Discovery Document section to pre-populate all values.

      If the OpenID well-known endpoint isn’t available, you must manually enter all the required values.

      Screen capture of the Discovery Details sections showing the required Authorization Endpoint, Token Endpoint, JWKS Endpoint and Issuer fields.
    4. Click Save and Continue.

    5. In the Map Attributes window, map incoming values as needed, and then click Save and Finish.

      Screen capture of the Map Attributes window showing the PingOne User Profile Attribute, OIDC Attribute and Update Condition fields.
  4. If you clicked SAML:

    1. In the Create Profile window, in the Name field, specify a name for the IdP (used only in the PingFederate console) and click Continue.

    2. In the Configure PingOne Connection section, choose the signing certificate for SP-initiated SAML authentication requests and click Continue.

      Screen capture of the Configure PingOne Connection window.
    3. In the Configure IDP Connection window, import data or provide the values, and then clickSave and Continue.

    4. In the Map Attributes window, map incoming values as needed, and then click Save and Finish.

      Screen capture of the Map Attributes window showing the PingOne User Profile Attribute, OIDC Attribute and Update Condition fields.

  5. Optional: To support just-in-time (JIT) creation, edit the newly created external IdP:

    If a user who doesn’t exist in PingOne is redirected from the external IdP, PingOne can perform a JIT creation of an account for that user in PingOne.

    1. Click Registration.

    2. In the Population list, select the population into which new users should be JIT provisioned.

    3. Click Save.

  6. Enable the external IdP you created.

Creating an external IdP authentication policy

Steps

  1. In your PingOne tenant, go to Experiences → Authentication Policies and click Add Policy.

    Screen capture of the Policies window with the Add Policy option in the upper right corner.
  2. In the Policy Name field, enter a unique policy name.

  3. In the Step Type list, select External Identity Provider.

    Screen capture of the expanded Step Type list showing External Identity Provider highlighted.
  4. In the External Identity Provider list, select the external IdP you want to delegate to.

    Disabled external IdPs are marked as such.

    Screen capture of the expanded External Identity Provider list showing PF and PFIDP (Disabled) as options.
  5. Optional: In the Required Authentication Level field, specify an authentication context to request from the IdP.

    For example, if you were using PingFederate you could use a selector on the incoming context to determine authentication policy flows.

    Screen capture of the Identity Provider Settings section showing the optional Required Authentication Level field.
  6. Click Save and Continue.

Next steps

Depending on how you want to use it, you can configure this policy as the default or assign it to specific applications. After calling an app that has this policy assigned, users are automatically sent to the external IdP for authentication.

After a successful return from the external IdP:

  • If the user doesn’t exist in PingOne, the user is created.

  • If user does exist in PingOne, the user is prompted for linking and then passed to their respective application.