Konfigurowanie rejestracji i logowania przy użyciu konta pingOne przy użyciu usługi Azure Active Directory B2C

Przed rozpoczęciem użyj selektora Wybierz typ zasad, aby wybrać typ konfigurowanych zasad. Usługa Azure Active Directory B2C oferuje dwie metody definiowania sposobu interakcji użytkowników z aplikacjami: za pomocą wstępnie zdefiniowanych przepływów użytkowników lub w pełni konfigurowalnych zasad niestandardowych. Kroki wymagane w tym artykule są różne dla każdej metody.

Wymagania wstępne

Tworzenie aplikacji PingOne

Aby włączyć logowanie dla użytkowników przy użyciu konta pingOne (Ping Identity) w usłudze Azure Active Directory B2C (Azure AD B2C), należy utworzyć aplikację w konsoli ping identity Administracja istrator. Aby uzyskać więcej informacji, zobacz Dodawanie lub aktualizowanie aplikacji OIDC w dokumentacji usługi Ping Identity. Jeśli nie masz jeszcze konta PingOne, możesz zarejestrować się pod adresem https://admin.pingone.com/web-portal/register.

  1. Zaloguj się do konsoli usługi Ping Identity Administracja istrator przy użyciu poświadczeń konta PingOne.
  2. W menu po lewej stronie wybierz pozycję Połączenie ions, a następnie obok pozycji Aplikacje wybierz pozycję +.
  3. Na stronie Nowa aplikacja wybierz pozycję Aplikacja internetowa, a następnie w obszarze OIDC wybierz pozycję Konfiguruj.
  4. Wprowadź nazwę aplikacji, a następnie wybierz przycisk Dalej.
  5. W polu Adresy URL przekierowania wprowadź .https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp Jeśli używasz domeny niestandardowej, wprowadź .https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp Zastąp your-domain-name ciąg domeną niestandardową i your-tenant-name nazwą dzierżawy. Użyj wszystkich małych liter podczas wprowadzania nazwy dzierżawy, nawet jeśli dzierżawa jest zdefiniowana z wielkimi literami w usłudze Azure AD B2C.
  6. Wybierz pozycję Zapisz i kontynuuj.
  7. W obszarze ZAKRESY wybierz pozycję Poczta e-mail i profil, a następnie wybierz pozycję Zapisz i kontynuuj.
  8. Na stronie atrybutów OIDC wybierz pozycję Zapisz i zamknij.
  9. Z listy aplikacji wybierz utworzoną aplikację.
  10. Na stronie Profil aplikacji wykonaj następujące czynności:
    1. Obok nazwy aplikacji włącz aplikację za pomocą przycisku przełącznika.
    2. Skopiuj wartości identyfikatora klienta.
  11. Wybierz kartę Konfiguracja i wykonaj następujące czynności:
    1. Skopiuj punkt końcowy odnajdywania OIDC.
    2. Pokaż i skopiuj klucz tajny klienta.
    3. Zmień tryb edycji. Następnie w obszarze metoda uwierzytelniania punktu końcowego tokenu zmień wartość na Wpis tajny klienta, a następnie wybierz pozycję Zapisz

Konfigurowanie polecenia PingOne jako dostawcy tożsamości

  1. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się do dzierżawy usługi Azure AD B2C z menu Katalogi i subskrypcje.

  2. Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz usługę Azure AD B2C.

  3. Wybierz pozycję Dostawcy tożsamości, a następnie wybierz pozycję Nowy dostawca openID Połączenie.

  4. Wprowadź nazwę. Na przykład wprowadź polecenie PingOne.

  5. W polu Adres URL metadanych wprowadź wcześniej zarejestrowany punkt końcowy odnajdywania OIDC. Przykład:

    https://auth.pingone.eu/00000000-0000-0000-0000-000000000000/as/.well-known/openid-configuration
    
  6. W polu Identyfikator klienta wprowadź wcześniej zarejestrowany identyfikator klienta.

  7. W polu Klucz tajny klienta wprowadź wcześniej zarejestrowany klucz tajny klienta.

  8. W polu Zakres wprowadź wartość openid email profile.

  9. Pozostaw wartości domyślne dla pola Typ odpowiedzi i Tryb odpowiedzi.

  10. (Opcjonalnie) W polu Wskazówka dotycząca domeny wprowadź wartość pingone.com. Aby uzyskać więcej informacji, zobacz Konfigurowanie logowania bezpośredniego przy użyciu usługi Azure Active Directory B2C.

  11. W obszarze Mapowanie oświadczeń dostawcy tożsamości wybierz następujące oświadczenia:

    • Identyfikator użytkownika: sub
    • Nazwa wyświetlana: nazwa
    • Podana nazwa: given_name
    • Nazwisko: family_name
    • Adres e-mail: adres e-mail
  12. Wybierz pozycję Zapisz.

Dodawanie dostawcy tożsamości PingOne do przepływu użytkownika

W tym momencie skonfigurowano dostawcę tożsamości PingOne, ale nie jest jeszcze dostępny na żadnej ze stron logowania. Aby dodać dostawcę tożsamości PingOne do przepływu użytkownika:

  1. W dzierżawie usługi Azure AD B2C wybierz pozycję Przepływy użytkownika.
  2. Kliknij przepływ użytkownika, który chcesz dodać dostawcę tożsamości PingOne.
  3. W obszarze Dostawcy tożsamości społecznościowych wybierz pozycję PingOne.
  4. Wybierz pozycję Zapisz.
  5. Aby przetestować zasady, wybierz pozycję Uruchom przepływ użytkownika.
  6. W polu Aplikacja wybierz aplikację internetową o nazwie testapp1 , która została wcześniej zarejestrowana. Adres URL odpowiedzi powinien zawierać wartość https://jwt.ms.
  7. Wybierz przycisk Uruchom przepływ użytkownika.
  8. Na stronie rejestracji lub logowania wybierz pozycję PingOne , aby zalogować się przy użyciu konta PingOne.

Jeśli proces logowania zakończy się pomyślnie, przeglądarka zostanie przekierowana do https://jwt.msusługi , która wyświetla zawartość tokenu zwróconego przez usługę Azure AD B2C.

Tworzenie klucza zasad

Musisz przechowywać wpis tajny klienta, który został wcześniej zarejestrowany w dzierżawie usługi Azure AD B2C.

  1. Zaloguj się w witrynie Azure Portal.
  2. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się do dzierżawy usługi Azure AD B2C z menu Katalogi i subskrypcje.
  3. Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz usługę Azure AD B2C.
  4. Na stronie Przegląd wybierz pozycję Identity Experience Framework.
  5. Wybierz pozycję Klucze zasad, a następnie wybierz pozycję Dodaj.
  6. W obszarze Opcje wybierz pozycję Manual.
  7. Wprowadź nazwę klucza zasad. Na przykład PingOneSecret. Prefiks B2C_1A_ jest dodawany automatycznie do nazwy klucza.
  8. W obszarze Wpis tajny wprowadź wcześniej zarejestrowany wpis tajny klienta.
  9. W obszarze Użycie klucza wybierz pozycję Signature.
  10. Kliknij pozycję Utwórz.

Konfigurowanie polecenia PingOne jako dostawcy tożsamości

Aby umożliwić użytkownikom logowanie się przy użyciu konta pingOne, należy zdefiniować konto jako dostawcę oświadczeń, z którym usługa Azure AD B2C może komunikować się za pośrednictwem punktu końcowego. Punkt końcowy udostępnia zestaw oświadczeń używanych przez usługę Azure AD B2C do sprawdzania, czy określony użytkownik został uwierzytelniony.

Konto PingOne można zdefiniować jako dostawcę oświadczeń, dodając je do elementu ClaimsProviders w pliku rozszerzenia zasad.

  1. Otwórz plik TrustFrameworkExtensions.xml.

  2. Znajdź element ClaimsProviders. Jeśli nie istnieje, dodaj go pod elementem głównym.

  3. Dodaj nowy element ClaimsProvider w następujący sposób:

    <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. Ustaw metadane METADATA na punkt końcowy odnajdywania OIDC pingOne.

  5. Ustaw client_id metadane na identyfikator klienta PingOne.

  6. Zapisz plik.

Dodawanie podróży użytkownika

W tym momencie dostawca tożsamości został skonfigurowany, ale nie jest jeszcze dostępny na żadnej ze stron logowania. Jeśli nie masz własnej podróży użytkownika niestandardowego, utwórz duplikat istniejącej podróży użytkownika szablonu, w przeciwnym razie przejdź do następnego kroku.

  1. Otwórz plik TrustFrameworkBase.xml z pakietu startowego.
  2. Znajdź i skopiuj całą zawartość elementu UserJourney , który zawiera Id="SignUpOrSignIn"element .
  3. Otwórz plik TrustFrameworkExtensions.xml i znajdź element UserJourneys . Jeśli element nie istnieje, dodaj go.
  4. Wklej całą zawartość elementu UserJourney skopiowaną jako element podrzędny elementu UserJourneys .
  5. Zmień nazwę identyfikatora podróży użytkownika. Na przykład Id="CustomSignUpSignIn".

Dodawanie dostawcy tożsamości do podróży użytkownika

Teraz, gdy masz podróż użytkownika, dodaj nowego dostawcę tożsamości do podróży użytkownika. Najpierw dodaj przycisk logowania, a następnie połącz przycisk z akcją. Akcja to utworzony wcześniej profil techniczny.

  1. Znajdź element kroku aranżacji, który zawiera Type="CombinedSignInAndSignUp"element , lub Type="ClaimsProviderSelection" w podróży użytkownika. Zazwyczaj jest to pierwszy krok aranżacji. Element ClaimsProviderSelections zawiera listę dostawców tożsamości, za pomocą których użytkownik może się zalogować. Kolejność elementów kontroluje kolejność przycisków logowania przedstawionych użytkownikowi. Dodaj element ClaimsProviderSelection XML. Ustaw wartość TargetClaimsExchangeId na przyjazną nazwę.

  2. W następnym kroku aranżacji dodaj element ClaimsExchange . Ustaw identyfikator na wartość identyfikatora wymiany oświadczeń docelowych. Zaktualizuj wartość TechnicalProfileReferenceId na identyfikator utworzonego wcześniej profilu technicznego.

Poniższy kod XML przedstawia dwa pierwsze kroki orkiestracji podróży użytkownika z dostawcą tożsamości:

<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>

Konfigurowanie zasad jednostki uzależnionej

Zasady jednostki uzależnionej, na przykład SignUpSignIn.xml, określają podróż użytkownika, który będzie wykonywany przez usługę Azure AD B2C. Znajdź element DefaultUserJourney w ramach jednostki uzależnionej. Zaktualizuj identyfikator ReferenceId , aby był zgodny z identyfikatorem podróży użytkownika, w którym dodano dostawcę tożsamości.

W poniższym przykładzie CustomSignUpSignIn dla podróży użytkownika identyfikator ReferenceId jest ustawiony na :CustomSignUpSignIn

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

Przekazywanie zasad niestandardowych

  1. Zaloguj się w witrynie Azure Portal.
  2. Wybierz ikonę Katalog i subskrypcja na pasku narzędzi portalu, a następnie wybierz katalog zawierający dzierżawę usługi Azure AD B2C.
  3. W witrynie Azure Portal wyszukaj i wybierz pozycję Azure AD B2C.
  4. W obszarze Zasady wybierz pozycję Identity Experience Framework.
  5. Wybierz pozycję Przekaż zasady niestandardowe, a następnie przekaż dwa zmienione pliki zasad w następującej kolejności: zasady rozszerzenia, na przykład TrustFrameworkExtensions.xml, a następnie zasady jednostki uzależnionej, takie jak SignUpSignIn.xml.

Testowanie zasad niestandardowych

  1. Wybierz zasady jednostki uzależnionej, na przykład B2C_1A_signup_signin.
  2. W polu Aplikacja wybierz wcześniej zarejestrowaną aplikację internetową. Adres URL odpowiedzi powinien zawierać wartość https://jwt.ms.
  3. Wybierz przycisk Uruchom teraz.
  4. Na stronie rejestracji lub logowania wybierz pozycję PingOne , aby zalogować się przy użyciu konta PingOne.

Jeśli proces logowania zakończy się pomyślnie, przeglądarka zostanie przekierowana do https://jwt.msusługi , która wyświetla zawartość tokenu zwróconego przez usługę Azure AD B2C.

Następne kroki

Dowiedz się, jak przekazać token PingOne do aplikacji.