Nastavení registrace a přihlášení pomocí účtu PingOne pomocí Azure Active Directory B2C

Než začnete, pomocí selektoru Zvolit typ zásady zvolte typ zásady, kterou nastavujete. Azure Active Directory B2C nabízí dvě metody pro definování způsobu interakce uživatelů s vašimi aplikacemi: prostřednictvím předdefinovaných toků uživatelů nebo prostřednictvím plně konfigurovatelných vlastních zásad. Kroky vyžadované v tomto článku se pro každou metodu liší.

Předpoklady

Vytvoření aplikace PingOne

Pokud chcete uživatelům povolit přihlášení pomocí účtu PingOne (Ping Identity) v Azure Active Directory B2C (Azure AD B2C), musíte vytvořit aplikaci v konzole Ping Identity Správa istrator. Další informace naleznete v tématu Přidání nebo aktualizace aplikace OIDC v dokumentaci k identitě ping. Pokud ještě nemáte účet PingOne, můžete se zaregistrovat na adrese https://admin.pingone.com/web-portal/register.

  1. Přihlaste se ke konzole Ping Identity Správa istrator pomocí přihlašovacích údajů účtu PingOne.
  2. V nabídce vlevo na stránce vyberte Připojení ions a pak vedle aplikace vyberte +.
  3. Na stránce Nová aplikace vyberte webovou aplikaci a pak v části OIDC vyberte Konfigurovat.
  4. Zadejte název aplikace a vyberte Další.
  5. Jako adresy URL pro přesměrování zadejte https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. Pokud používáte vlastní doménu, zadejte https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Nahraďte your-domain-name vlastní doménou a your-tenant-name názvem vašeho tenanta. Při zadávání názvu tenanta používejte všechna malá písmena, i když je tenant definovaný velkými písmeny v Azure AD B2C.
  6. Zvolte Uložit a pokračovat.
  7. V části OBORY vyberte e-mail a profil a pak vyberte Uložit a pokračovat.
  8. Na stránce atributů OIDC vyberte Uložit a zavřít.
  9. V seznamu aplikací vyberte aplikaci, kterou jste vytvořili.
  10. Na stránce Profil aplikace proveďte následující akce:
    1. Vedle názvu aplikace povolíte aplikaci pomocí tlačítka přepínače.
    2. Zkopírujte hodnoty ID klienta.
  11. Vyberte kartu Konfigurace a proveďte následující akce:
    1. Zkopírujte koncový bod zjišťování OIDC.
    2. Zobrazí a zkopíruje tajný klíč klienta.
    3. Změňte režim, který chcete upravit. Potom v části Metoda ověřování koncového bodu tokenu změňte hodnotu na Post tajného klíče klienta a vyberte Uložit.

Konfigurace PingOne jako zprostředkovatele identity

  1. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.

  2. V levém horním rohu webu Azure Portal zvolte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.

  3. Vyberte zprostředkovatele identity a pak vyberte Nový zprostředkovatele OpenID Připojení.

  4. Zadejte Název. Zadejte například PingOne.

  5. Jako adresu URL metadat zadejte koncový bod zjišťování OIDC, který jste předtím zaznamenali. Příklad:

    https://auth.pingone.eu/00000000-0000-0000-0000-000000000000/as/.well-known/openid-configuration
    
  6. Jako ID klienta zadejte ID klienta, které jste si předtím poznamenali.

  7. Jako tajný klíč klienta zadejte tajný klíč klienta, který jste si předtím poznamenali.

  8. Jako obor zadejte openid email profile.

  9. Ponechte výchozí hodnoty pro typ odpovědi a režim odpovědi.

  10. (Volitelné) Jako nápovědu k doméně zadejte pingone.com. Další informace najdete v tématu Nastavení přímého přihlašování pomocí Azure Active Directory B2C.

  11. V části Mapování deklarací identity vyberte následující deklarace identity:

    • ID uživatele: sub
    • Zobrazovaný název: název
    • Jméno: given_name
    • Příjmení: family_name
    • E-mail: e-mail
  12. Zvolte Uložit.

Přidání zprostředkovatele identity PingOne do toku uživatele

V tuto chvíli je zprostředkovatele identity PingOne nastavený, ale zatím není k dispozici na žádné přihlašovací stránce. Přidání zprostředkovatele identity PingOne do toku uživatele:

  1. V tenantovi Azure AD B2C vyberte Toky uživatelů.
  2. Klikněte na tok uživatele, který chcete přidat zprostředkovatele identity PingOne.
  3. V části Zprostředkovatelé sociálních identit vyberte PingOne.
  4. Zvolte Uložit.
  5. Pokud chcete zásady otestovat, vyberte Spustit tok uživatele.
  6. V části Aplikace vyberte webovou aplikaci s názvem testapp1 , kterou jste předtím zaregistrovali. Adresa URL odpovědi by se měla zobrazit https://jwt.ms.
  7. Vyberte tlačítko Spustit tok uživatele.
  8. Na registrační nebo přihlašovací stránce vyberte PingOne a přihlaste se pomocí účtu PingOne.

Pokud je proces přihlášení úspěšný, prohlížeč se přesměruje na https://jwt.msobsah tokenu vráceného službou Azure AD B2C.

Vytvoření klíče zásad

Musíte uložit tajný klíč klienta, který jste předtím zaznamenali ve svém tenantovi Azure AD B2C.

  1. Přihlaste se k portálu Azure.
  2. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.
  3. V levém horním rohu webu Azure Portal zvolte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
  4. Na stránce Přehled vyberte rozhraní Identity Experience Framework.
  5. Vyberte Klíče zásad a pak vyberte Přidat.
  6. V nabídce Možnosti zvolte Manual.
  7. Zadejte název klíče zásady. Například, PingOneSecret. Předpona B2C_1A_ se automaticky přidá do názvu klíče.
  8. V tajném kódu zadejte tajný klíč klienta, který jste předtím zaznamenali.
  9. V případě použití klíče vyberte Signature.
  10. Klikněte na Vytvořit.

Konfigurace PingOne jako zprostředkovatele identity

Pokud chcete uživatelům umožnit přihlášení pomocí účtu PingOne, musíte účet definovat jako zprostředkovatele deklarací identity, se kterým může Azure AD B2C komunikovat prostřednictvím koncového bodu. Koncový bod poskytuje sadu deklarací identity, které Azure AD B2C používá k ověření ověření konkrétního uživatele.

Účet PingOne můžete definovat jako zprostředkovatele deklarací tím, že ho přidáte do elementu ClaimsProviders v souboru s příponou vaší zásady.

  1. Otevřete Soubor TrustFrameworkExtensions.xml.

  2. Vyhledejte element ClaimsProviders . Pokud neexistuje, přidejte ho pod kořenový prvek.

  3. Přidejte nový ClaimsProvider následujícím způsobem:

    <ClaimsProvider>
      <Domain>pingone.com</Domain>
      <DisplayName>PingOne</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="PingOne-OpenIdConnect">
          <DisplayName>Ping Identity</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">Your PingOne OIDC discovery endpoint</Item>
            <Item Key="client_id">Your PingOne client ID</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid email profile</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">0</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_PingOneSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. METADATA Nastavte metadata na koncový bod zjišťování PingOne OIDC.

  5. Nastavte client_id metadata na ID klienta PingOne.

  6. Soubor uložte.

Přidání cesty uživatele

V tuto chvíli je zprostředkovatele identity nastavený, ale zatím není k dispozici na žádné přihlašovací stránce. Pokud nemáte vlastní cestu uživatele, vytvořte duplikát existující cesty uživatele šablony, jinak pokračujte dalším krokem.

  1. Otevřete soubor TrustFrameworkBase.xml z úvodní sady.
  2. Najděte a zkopírujte celý obsah prvku UserJourney , který obsahuje Id="SignUpOrSignIn".
  3. Otevřete TrustFrameworkExtensions.xml a najděte element UserJourneys. Pokud prvek neexistuje, přidejte ho.
  4. Vložte celý obsah elementu UserJourney , který jste zkopírovali jako podřízený prvek UserJourneys .
  5. Přejmenujte ID cesty uživatele. Například, Id="CustomSignUpSignIn".

Přidání zprostředkovatele identity do cesty uživatele

Teď, když máte cestu uživatele, přidejte do cesty uživatele nového zprostředkovatele identity. Nejdřív přidáte tlačítko pro přihlášení a pak tlačítko propočítáte s akcí. Akce je technický profil, který jste vytvořili dříve.

  1. Najděte prvek kroku orchestrace, který zahrnuje Type="CombinedSignInAndSignUp"nebo Type="ClaimsProviderSelection" na cestě uživatelem. Obvykle se jedná o první krok orchestrace. Element ClaimsProviderSelections obsahuje seznam zprostředkovatelů identity, se kterými se uživatel může přihlásit. Pořadí prvků řídí pořadí tlačítek pro přihlášení, která jsou uživateli prezentována. Přidejte element XML ClaimsProviderSelection. Nastavte hodnotu TargetClaimsExchangeId na popisný název.

  2. V dalším kroku orchestrace přidejte element ClaimsExchange . Nastavte ID na hodnotu ID cílové výměny deklarací identity. Aktualizujte hodnotu TechnicalProfileReferenceId na ID technického profilu, který jste vytvořili dříve.

Následující KÓD XML ukazuje první dva kroky orchestrace cesty uživatele se zprostředkovatelem identity:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="PingOneExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="PingOneExchange" TechnicalProfileReferenceId="PingOne-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

Konfigurace zásad předávající strany

Zásady předávající strany, například SignUpSignIn.xml, určují cestu uživatele, kterou azure AD B2C spustí. Najděte element DefaultUserJourney v rámci předávající strany. Aktualizujte ID reference tak, aby odpovídalo ID cesty uživatele, do kterého jste přidali zprostředkovatele identity.

V následujícím příkladu CustomSignUpSignIn je pro cestu uživatele nastavena hodnota ReferenceId na CustomSignUpSignIn:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Nahrání vlastních zásad

  1. Přihlaste se k portálu Azure.
  2. Na panelu nástrojů portálu vyberte ikonu Adresář a předplatné a pak vyberte adresář, který obsahuje vašeho tenanta Azure AD B2C.
  3. Na webu Azure Portal vyhledejte a vyberte Azure AD B2C.
  4. V části Zásady vyberte Architekturu prostředí identit.
  5. Vyberte Nahrát vlastní zásady a potom nahrajte dva soubory zásad, které jste změnili, v následujícím pořadí: zásady rozšíření, například TrustFrameworkExtensions.xml, pak zásady předávající strany, například SignUpSignIn.xml.

Testování vlastních zásad

  1. Vyberte například zásadu B2C_1A_signup_signinpředávající strany.
  2. V části Aplikace vyberte webovou aplikaci, kterou jste předtím zaregistrovali. Adresa URL odpovědi by se měla zobrazit https://jwt.ms.
  3. Vyberte tlačítko Spustit hned.
  4. Na registrační nebo přihlašovací stránce vyberte PingOne a přihlaste se pomocí účtu PingOne.

Pokud je proces přihlášení úspěšný, prohlížeč se přesměruje na https://jwt.msobsah tokenu vráceného službou Azure AD B2C.

Další kroky

Zjistěte, jak předat token PingOne vaší aplikaci.