Konfigurowanie usługi Azure Active Directory B2C za pomocą rozwiązania Bluink eID-Me na potrzeby weryfikacji tożsamości

Zanim rozpoczniesz

Usługa Azure Active Directory B2C (Azure AD B2C) ma dwie metody definiowania interakcji użytkowników z aplikacjami: wstępnie zdefiniowanych przepływów użytkowników lub konfigurowalnych zasad niestandardowych. Zasady niestandardowe dotyczą złożonych scenariuszy. W przypadku większości scenariuszy zalecamy przepływy użytkowników. Zobacz Omówienie przepływów użytkownika i zasad niestandardowych

Integrowanie uwierzytelniania B2C Azure AD z eID-Me

Dowiedz się, jak zintegrować uwierzytelnianie Azure AD B2C z rozwiązaniem Bluink eID-Me, weryfikacją tożsamości i zdecentralizowanym rozwiązaniem do obsługi tożsamości dla obywateli Kanady. Za pomocą identyfikatora eID-Me dzierżawy usługi Azure AD B2C weryfikują tożsamość użytkownika, uzyskują zweryfikowane oświadczenia tożsamości rejestracji i logowania. Integracja obsługuje uwierzytelnianie wieloskładnikowe i logowanie bez hasła przy użyciu bezpiecznej tożsamości cyfrowej. Organizacje mogą spełniać wymagania dotyczące poziomu IAL (Identity Assurance Level) 2 i Know Your Customer (KYC).

Aby dowiedzieć się więcej, przejdź do bluink.ca: Bluink Ltd

Wymagania wstępne

Aby rozpocząć pracę, potrzebne będą następujące elementy:

Zobacz również Samouczek: tworzenie przepływów użytkownika i zasad niestandardowych w usłudze Azure AD B2C.

Opis scenariusza

EID-Me integruje się z usługą Azure AD B2C jako dostawca tożsamości OpenID Connect (OIDC). Następujące składniki składają się na rozwiązanie eID-Me z Azure AD B2C:

  • Azure AD dzierżawa B2C — skonfigurowana jako jednostka uzależniona w elemecie eID-Me umożliwia usłudze eID-Me ufanie dzierżawie usługi Azure AD B2C na potrzeby rejestracji i logowania
  • Azure AD aplikacji dzierżawy B2C — założenie jest, że dzierżawy potrzebują aplikacji dzierżawy usługi Azure AD B2C
    • Aplikacja odbiera oświadczenia tożsamości odebrane przez Azure AD B2C podczas transakcji
  • Aplikacje na smartfony eID-Me — użytkownicy dzierżawy usługi Azure AD B2C potrzebują aplikacji dla systemu iOS lub Android
  • Wystawione tożsamości cyfrowe eID-Me — z weryfikacji tożsamości eID-Me
    • Użytkownicy otrzymują tożsamość cyfrową do cyfrowego portfela w aplikacji. Wymagane są prawidłowe dokumenty tożsamości.

Aplikacje eID-Me uwierzytelniają użytkowników podczas transakcji. Uwierzytelnianie klucza publicznego X509 zapewnia uwierzytelnianie wieloskładnikowe bez hasła przy użyciu prywatnego klucza podpisywania w tożsamości cyfrowej eID-Me.

Na poniższym diagramie przedstawiono weryfikację tożsamości eID-Me, która występuje poza przepływami Azure AD B2C.

Diagram przepływu sprawdzania tożsamości w eID-Me.

  1. Użytkownik przekazuje selfie do aplikacji na smartfony eID-Me.
  2. Użytkownik skanuje i przekazuje rząd wydany dokument identyfikacyjny, taki jak paszport lub prawo jazdy, do aplikacji na smartfony eID-Me.
  3. eID-Me przesyła dane do usługi tożsamości w celu weryfikacji.
  4. Użytkownik otrzymuje tożsamość cyfrową, która jest zapisywana w aplikacji.

Na poniższym diagramie przedstawiono integrację Azure AD B2C z eID-Me.

Diagram integracji Azure AD B2C z eID-Me.

  1. Użytkownik otwiera stronę logowania Azure AD B2C i loguje się lub rejestruje się przy użyciu nazwy użytkownika.
  2. Użytkownik przekazany do Azure AD zasad logowania i rejestracji B2C.
  3. Azure AD B2C przekierowuje użytkownika do routera tożsamości eID-Me przy użyciu przepływu kodu autoryzacji OIDC.
  4. Router wysyła powiadomienie wypychane do aplikacji mobilnej użytkownika ze szczegółami żądania uwierzytelniania i autoryzacji.
  5. Zostanie wyświetlone wyzwanie uwierzytelniania użytkownika, a następnie zostanie wyświetlony monit o podanie oświadczeń tożsamości.
  6. Odpowiedź na żądanie trafia do routera.
  7. Router odpowiada na Azure AD B2C z wynikiem uwierzytelniania.
  8. Azure AD odpowiedź tokenu identyfikatora B2C jest kierowana do aplikacji.
  9. Użytkownik otrzymuje lub odmawia dostępu.

Wprowadzenie do identyfikatora eID-Me

Przejdź do strony bluink.ca Skontaktuj się z nami, aby zażądać pokazu z celem skonfigurowania środowiska testowego lub produkcyjnego w celu skonfigurowania dzierżaw Azure AD B2C jako jednostki uzależnionej. Dzierżawy określają oświadczenia tożsamości wymagane od użytkowników, którzy tworzą konto za pomocą identyfikatora eID-Me.

Konfigurowanie aplikacji w eID-Me

Aby skonfigurować aplikację dzierżawy jako jednostkę uzależnioną eID-ME w elemecie eID-Me, podaj następujące informacje:

Właściwość Opis
Nazwa Azure AD B2C lub innej nazwy aplikacji
Domena name.onmicrosoft.com
Identyfikatory URI przekierowania https://jwt.ms
Adresy URL przekierowania https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
Na przykład: https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp
W przypadku domeny niestandardowej wprowadź https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp.
Adres URL strony głównej aplikacji Pojawia się użytkownikowi końcowemu
Adres URL zasad ochrony prywatności aplikacji Pojawia się użytkownikowi końcowemu

Uwaga

Po skonfigurowaniu jednostki uzależnionej ID-Me udostępnia identyfikator klienta i klucz tajny klienta. Zanotuj identyfikator klienta i klucz tajny klienta, aby skonfigurować dostawcę tożsamości w usłudze Azure AD B2C.

Dodawanie nowego dostawcy tożsamości w usłudze Azure AD B2C

Aby uzyskać poniższe instrukcje, użyj katalogu z dzierżawą usługi Azure AD B2C.

  1. Zaloguj się do Azure Portal jako administrator globalny dzierżawy usługi Azure AD B2C.
  2. W górnym menu wybierz pozycję Katalog i subskrypcja.
  3. Wybierz katalog z dzierżawą.
  4. W lewym górnym rogu Azure Portal wybierz pozycję Wszystkie usługi.
  5. Wyszukaj i wybierz pozycję Azure AD B2C.
  6. Przejdź do pozycji Pulpit nawigacyjny>Dostawcy tożsamościusługi Azure Active Directory B2C>.
  7. Wybierz pozycję Nowy dostawca OpenID Connect.
  8. Wybierz pozycję Dodaj.

Konfigurowanie dostawcy tożsamości

Aby skonfigurować dostawcę tożsamości:

  1. Wybierz typ >dostawcy tożsamościOpenID Connect.
  2. W formularzu dostawcy tożsamości w polu Nazwa wprowadź wartość eID-Me Passwordless lub inną nazwę.
  3. W polu Identyfikator klienta wprowadź identyfikator klienta z adresu eID-Me.
  4. W polu Klucz tajny klienta wprowadź klucz tajny klienta z adresu eID-Me.
  5. W polu Zakres wybierz pozycję Openid profil poczty e-mail.
  6. W polu Typ odpowiedzi wybierz pozycję Kod.
  7. W obszarze Tryb odpowiedzi wybierz pozycję Wpis formularza.
  8. Wybierz przycisk OK.
  9. Wybierz pozycję Mapuj oświadczenia tego dostawcy tożsamości.
  10. W obszarze Identyfikator użytkownika użyj podgrupy.
  11. W polu Nazwa wyświetlana użyj nazwy.
  12. W polu Nadana nazwa użyj given_name.
  13. W przypadku nazwiska użyj family_name.
  14. W przypadku Email użyj poczty e-mail.
  15. Wybierz pozycję Zapisz.

Konfigurowanie uwierzytelniania Multi-Factor Authentication

eID-Me jest uwierzytelnianiem wieloskładnikowym, dlatego konfiguracja uwierzytelniania wieloskładnikowego przepływu użytkownika nie jest potrzebna.

Tworzenie zasad przepływu użytkownika

W poniższych instrukcjach eID-Me pojawia się jako nowy dostawca tożsamości OIDC u dostawców tożsamości B2C.

  1. W dzierżawie usługi Azure AD B2C w obszarze Zasady wybierz pozycję Przepływy użytkownika.
  2. Wybierz pozycję Nowy przepływ użytkownika.
  3. Wybierz pozycję Zarejestruj się i zaloguj się w>obszarze Utwórzwersję>.
  4. Wprowadź nazwę zasad.
  5. W obszarze Dostawcy tożsamości wybierz utworzonego dostawcę tożsamości eID-Me.
  6. W obszarze Konta lokalne wybierz pozycję Brak. Zaznaczenie powoduje wyłączenie uwierzytelniania poczty e-mail i hasła.
  7. Wybierz pozycję Uruchom przepływ użytkownika.
  8. Wprowadź adres URL odpowiedzi, taki jak https://jwt.ms.
  9. Przeglądarka przekierowuje do strony logowania eID-Me.
  10. Wprowadź nazwę konta z rejestracji użytkownika.
  11. Użytkownik otrzymuje powiadomienie wypychane na urządzeniu przenośnym przy użyciu identyfikatora eID-Me.
  12. Pojawi się wyzwanie dotyczące uwierzytelniania.
  13. Wyzwanie jest akceptowane, a przeglądarka przekierowuje do adresu URL odpowiedzi.

Uwaga

Usługa Azure Active Directory B2C (Azure AD B2C) ma dwie metody definiowania interakcji użytkowników z aplikacjami: wstępnie zdefiniowanych przepływów użytkowników lub konfigurowalnych zasad niestandardowych. Zasady niestandardowe dotyczą złożonych scenariuszy. W przypadku większości scenariuszy zalecamy przepływy użytkowników. Zobacz, Przepływy użytkownika i zasady niestandardowe — omówienie

Tworzenie klucza zasad

Zapisz wpis tajny klienta zarejestrowany w dzierżawie usługi Azure AD B2C. Aby uzyskać poniższe instrukcje, użyj katalogu z dzierżawą usługi Azure AD B2C.

  1. Zaloguj się w witrynie Azure Portal.
  2. Na pasku narzędzi portalu wybierz katalogi i subskrypcje.
  3. Na stronie Ustawienia portalu katalogi i subskrypcje na liście Nazwa katalogu znajdź katalog Azure AD B2C.
  4. Wybierz pozycję Przełącz.
  5. W lewym górnym rogu Azure Portal wybierz pozycję Wszystkie usługi.
  6. Wyszukaj i wybierz pozycję Azure AD B2C.
  7. Na stronie Przegląd wybierz pozycję Identity Experience Framework.
  8. Wybierz pozycję Klucze zasad.
  9. Wybierz pozycję Dodaj.
  10. W obszarze Opcje wybierz pozycję Ręczne.
  11. Wprowadź nazwę klucza zasad. Na przykład eIDMeClientSecret. Prefiks B2C_1A_ jest dodawany do nazwy klucza.
  12. W polu Wpis tajny wprowadź zanotowany klucz tajny klienta.
  13. W obszarze Użycie klucza wybierz pozycję Podpis.
  14. Wybierz przycisk Utwórz.

Konfigurowanie identyfikatora eID-Me jako dostawcy tożsamości

Zdefiniuj eID-Me jako dostawcę oświadczeń, aby umożliwić użytkownikom logowanie się przy użyciu identyfikatora eID-Me. Azure AD B2C komunikuje się z nim za pośrednictwem punktu końcowego. Punkt końcowy udostępnia oświadczenia używane przez usługę Azure AD B2C w celu zweryfikowania uwierzytelniania użytkownika przy użyciu identyfikatora cyfrowego na urządzeniu.

Aby zdefiniować eID-Me jako dostawcę oświadczeń, dodaj go do elementu ClaimsProvider w pliku rozszerzenia zasad.

  1. Otwórz klasę TrustFrameworkExtensions.xml.

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

  3. Dodaj nowy element ClaimsProvider:

       <ClaimsProvider>
       <Domain>eID-Me</Domain>
       <DisplayName>eID-Me</DisplayName>
       <TechnicalProfiles>
         <TechnicalProfile Id="eID-Me-OIDC">
           <!-- The text in the following DisplayName element is shown to the user on the claims provider 
    selection screen. -->
           <DisplayName>eID-Me for Sign In</DisplayName>
           <Protocol Name="OpenIdConnect" />
           <Metadata>
             <Item Key="ProviderName">https://eid-me.bluink.ca</Item>
             <Item Key="METADATA">https://demoeid.bluink.ca/.well-known/openid-configuration</Item>
             <Item Key="response_types">code</Item>
             <Item Key="scope">openid email profile</Item>
             <Item Key="response_mode">form_post</Item>
             <Item Key="HttpBinding">POST</Item>
             <Item Key="token_endpoint_auth_method">client_secret_post</Item>
             <Item Key="client_id">eid_me_rp_client_id</Item>
             <Item Key="UsePolicyInRedirectUri">false</Item>
           </Metadata>
           <CryptographicKeys>
             <Key Id="client_secret" StorageReferenceId="B2C_1A_eIDMeClientSecret" />
           </CryptographicKeys>
           <InputClaims />
           <OutputClaims>
             <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
             <OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid" />
             <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
             <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
             <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
             <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
             <OutputClaim ClaimTypeReferenceId="IAL" PartnerClaimType="identity_assurance_level_achieved" DefaultValue="unknown IAL" />
             <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
             <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
             <OutputClaim ClaimTypeReferenceId="locality" PartnerClaimType="locality" DefaultValue="unknown locality" />
             <OutputClaim ClaimTypeReferenceId="region" PartnerClaimType="region" DefaultValue="unknown region" />
           </OutputClaims>
           <OutputClaimsTransformations>
             <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
             <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
             <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
             <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
           </OutputClaimsTransformations>
           <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
         </TechnicalProfile>
       </TechnicalProfiles>
     </ClaimsProvider>
    
  4. W przypadku eid_me_rp_client_id wprowadź identyfikator klienta jednostki uzależnionej eID-Me.

  5. Wybierz pozycję Zapisz.

Obsługiwane oświadczenia tożsamości

Możesz dodać więcej oświadczeń tożsamości, które obsługuje eID-Me.

  1. Otwórz klasę TrustFrameworksExtension.xml.
  2. BuildingBlocks Znajdź element.

Uwaga

Znajdź obsługiwane listy oświadczeń tożsamości eID-Me w repozytorium OID z identyfikatorami OIDC w dobrze znanej/openid-konfiguracji.

<BuildingBlocks>
<ClaimsSchema>
 <ClaimType Id="IAL">
     <DisplayName>Identity Assurance Level</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="identity_assurance_level_achieved" />
     </DefaultPartnerClaimTypes>
     <AdminHelpText>The Identity Assurance Level Achieved during proofing of the digital identity.</AdminHelpText>
     <UserHelpText>The Identity Assurance Level Achieved during proofing of the digital identity.</UserHelpText>
     <UserInputType>Readonly</UserInputType>
   </ClaimType>

<ClaimType Id="picture">
     <DisplayName>Portrait Photo</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="thumbnail_portrait" />
     </DefaultPartnerClaimTypes>
     <AdminHelpText>The portrait photo of the user.</AdminHelpText>
     <UserHelpText>Your portrait photo.</UserHelpText>
     <UserInputType>Readonly</UserInputType>
   </ClaimType>

 <ClaimType Id="middle_name">
     <DisplayName>Portrait Photo</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="middle_name" />
     </DefaultPartnerClaimTypes>
     <UserHelpText>Your middle name.</UserHelpText>
     <UserInputType>TextBox</UserInputType>
   </ClaimType>

<ClaimType Id="birthdate">
     <DisplayName>Date of Birth</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="birthdate" />
     </DefaultPartnerClaimTypes>
     <AdminHelpText>The user's date of birth.</AdminHelpText>
     <UserHelpText>Your date of birth.</UserHelpText>
     <UserInputType>TextBox</UserInputType>
   </ClaimType>

 <ClaimType Id="gender">
     <DisplayName>Gender</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="gender" />
     </DefaultPartnerClaimTypes>
     <AdminHelpText>The user's gender.</AdminHelpText>
     <UserHelpText>Your gender.</UserHelpText>
     <UserInputType>TextBox</UserInputType>
   </ClaimType>
 
 <ClaimType Id="street_address">
     <DisplayName>Locality/City</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="street_address" />
     </DefaultPartnerClaimTypes>
     <AdminHelpText>The user's full street address, which MAY include house number, street name, post office box.</AdminHelpText>
     <UserHelpText>Your street address of residence.</UserHelpText>
     <UserInputType>TextBox</UserInputType>
   </ClaimType>

<ClaimType Id="locality">
     <DisplayName>Locality/City</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="locality" />
     </DefaultPartnerClaimTypes>
     <AdminHelpText>The user's current city or locality of residence.</AdminHelpText>
     <UserHelpText>Your current city or locality of residence.</UserHelpText>
     <UserInputType>TextBox</UserInputType>
   </ClaimType>

   <ClaimType Id="region">
     <DisplayName>Province or Territory</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="region" />
     </DefaultPartnerClaimTypes>
     <AdminHelpText>The user's current province or territory of residence.</AdminHelpText>
     <UserHelpText>Your current province or territory of residence.</UserHelpText>
     <UserInputType>TextBox</UserInputType>
   </ClaimType>

   <ClaimType Id="country">
     <DisplayName>Country</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="country" />
     </DefaultPartnerClaimTypes>
     <AdminHelpText>The user's current country of residence.</AdminHelpText>
     <UserHelpText>Your current country of residence.</UserHelpText>
     <UserInputType>TextBox</UserInputType>
   </ClaimType>

   <ClaimType Id="dl_number">
     <DisplayName>Driver's Licence Number</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="dl_number" />
     </DefaultPartnerClaimTypes>
     <AdminHelpText>The user's driver's licence number.</AdminHelpText>
     <UserHelpText>Your driver's licence number.</UserHelpText>
     <UserInputType>TextBox</UserInputType>
   </ClaimType>

   <ClaimType Id="dl_class">
     <DisplayName>Driver's Licence Class</DisplayName>
     <DataType>string</DataType>
     <DefaultPartnerClaimTypes>
       <Protocol Name="OpenIdConnect" PartnerClaimType="dl_class" />
     </DefaultPartnerClaimTypes>
     <AdminHelpText>The user's driver's licence class.</AdminHelpText>
     <UserHelpText>Your driver's licence class.</UserHelpText>
     <UserInputType>TextBox</UserInputType>
   </ClaimType>
 </ClaimsSchema>

Dodawanie podróży użytkownika

Aby uzyskać następujące instrukcje, dostawca tożsamości jest skonfigurowany, ale nie na żadnych stronach logowania. Jeśli nie masz niestandardowej podróży użytkownika, skopiuj podróż użytkownika szablonu.

  1. W pakiecie startowym otwórz TrustFrameworkBase.xml plik.
  2. Znajdź i skopiuj zawartość elementu UserJourneys , który zawiera identyfikator=SignUpOrSignIn.
  3. Otwórz klasę TrustFrameworkExtensions.xml.
  4. Znajdź element UserJourneys . Jeśli element nie zostanie wyświetlony, dodaj go.
  5. Wklej zawartość elementu UserJourney jako element podrzędny elementu UserJourneys .
  6. Zmień nazwę identyfikatora podróży użytkownika, na przykład ID=CustomSignUpSignIn.

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

Dodaj nowego dostawcę tożsamości do podróży użytkownika.

  1. W podróży użytkownika znajdź element kroku aranżacji z type=CombinedSignInAndSignUplub Type=ClaimsProviderSelection. Zazwyczaj jest to pierwszy krok aranżacji. Element ClaimsProviderSelections zawiera listę dostawców tożsamości, za pomocą których loguje się użytkownik. Kolejność elementów kontroluje kolejność przycisków logowania, które widzi użytkownik.
  2. Dodaj element ClaimsProviderSelection XML.
  3. Ustaw wartość TargetClaimsExchangeId na przyjazną nazwę.
  4. W następnym kroku aranżacji dodaj element ClaimsExchange .
  5. Ustaw identyfikator na wartość identyfikatora wymiany oświadczeń docelowych.
  6. Zaktualizuj wartość vTechnicalProfileReferenceId do utworzonego identyfikatora profilu technicznego.

Poniższy kod XML przedstawia siedem kroków orkiestracji podróży użytkownika z dostawcą tożsamości:

 <UserJourney Id="eIDME-SignUpOrSignIn">
   <OrchestrationSteps>
     <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
       <ClaimsProviderSelections>
         <ClaimsProviderSelection TargetClaimsExchangeId="eIDMeExchange" />
        </ClaimsProviderSelections>
   </OrchestrationStep>
     <!-- Check if the user has selected to sign in using one of the social providers -->
     <OrchestrationStep Order="2" Type="ClaimsExchange">
       <Preconditions>
         <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
           <Value>objectId</Value>
           <Action>SkipThisOrchestrationStep</Action>
         </Precondition>
       </Preconditions>
       <ClaimsExchanges>
         <ClaimsExchange Id="eIDMeExchange" TechnicalProfileReferenceId="eID-Me-OIDC" />
       </ClaimsExchanges>
     </OrchestrationStep>
     <!-- For social IDP authentication, attempt to find the user account in the directory. -->
     <OrchestrationStep Order="3" Type="ClaimsExchange">
       <Preconditions>
         <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
           <Value>authenticationSource</Value>
           <Value>localAccountAuthentication</Value>
           <Action>SkipThisOrchestrationStep</Action>
         </Precondition>
       </Preconditions>
       <ClaimsExchanges>
         <ClaimsExchange Id="AADUserReadUsingAlternativeSecurityId" TechnicalProfileReferenceId="AAD-UserReadUsingAlternativeSecurityId-NoError" />
       </ClaimsExchanges>
     </OrchestrationStep>
     <!-- Show self-asserted page only if the directory does not have the user account already (i.e. we do not have an objectId).  -->
     <OrchestrationStep Order="4" Type="ClaimsExchange">
       <Preconditions>
         <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
           <Value>objectId</Value>
           <Action>SkipThisOrchestrationStep</Action>
         </Precondition>
       </Preconditions>
       <ClaimsExchanges>
         <ClaimsExchange Id="SelfAsserted-Social" TechnicalProfileReferenceId="SelfAsserted-Social" />
       </ClaimsExchanges>
     </OrchestrationStep>
     <!-- This step reads any user attributes that we may not have received when authenticating using ESTS so they can be sent in the token. -->
     <OrchestrationStep Order="5" Type="ClaimsExchange">
       <Preconditions>
         <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
           <Value>authenticationSource</Value>
           <Value>socialIdpAuthentication</Value>
           <Action>SkipThisOrchestrationStep</Action>
         </Precondition>
       </Preconditions>
       <ClaimsExchanges>
         <ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
       </ClaimsExchanges>
     </OrchestrationStep>
     <!-- The previous step (SelfAsserted-Social) could have been skipped if there were no attributes to collect 
          from the user. So, in that case, create the user in the directory if one does not already exist 
          (verified using objectId which would be set from the last step if account was created in the directory. -->
     <OrchestrationStep Order="6" Type="ClaimsExchange">
       <Preconditions>
         <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
           <Value>objectId</Value>
           <Action>SkipThisOrchestrationStep</Action>
         </Precondition>
       </Preconditions>
       <ClaimsExchanges>
         <ClaimsExchange Id="AADUserWrite" TechnicalProfileReferenceId="AAD-UserWriteUsingAlternativeSecurityId" />
       </ClaimsExchanges>
     </OrchestrationStep>
     <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
   </OrchestrationSteps>
   <ClientDefinition ReferenceId="DefaultWeb" />
 </UserJourney>

Konfigurowanie zasad jednostki uzależnionej

Zasady jednostki uzależnionej określają podróż użytkownika Azure AD wykonywane przez usługę B2C. Oświadczenia przekazywane do aplikacji można kontrolować. Dostosuj element OutputClaims elementu eID-Me-OIDC-Signup TechnicalProfile. W poniższym przykładzie aplikacja odbiera kod pocztowy użytkownika, lokalizację, region, IAL, portret, średnią nazwę i datę urodzenia. Otrzymuje oświadczenie logiczne signupConditionsSatisfied , co wskazuje, czy konto zostało utworzone.

 <RelyingParty>
     <DefaultUserJourney ReferenceId="eIDMe-SignUpOrSignIn" />
     <TechnicalProfile Id="PolicyProfile">
       <DisplayName>PolicyProfile</DisplayName>
       <Protocol Name="OpenIdConnect" />
       <OutputClaims>
         <OutputClaim ClaimTypeReferenceId="displayName" />
         <OutputClaim ClaimTypeReferenceId="givenName" />
         <OutputClaim ClaimTypeReferenceId="surname" />
         <OutputClaim ClaimTypeReferenceId="email" />
         <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
         <OutputClaim ClaimTypeReferenceId="identityProvider" />
         <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
         <OutputClaim ClaimTypeReferenceId="postalCode" PartnerClaimType="postal_code" DefaultValue="unknown postal_code" />
         <OutputClaim ClaimTypeReferenceId="locality" PartnerClaimType="locality" DefaultValue="unknown locality" />
         <OutputClaim ClaimTypeReferenceId="region" PartnerClaimType="region" DefaultValue="unknown region" />
         <OutputClaim ClaimTypeReferenceId="IAL" PartnerClaimType="identity_assurance_level_achieved" DefaultValue="unknown IAL" />
         <OutputClaim ClaimTypeReferenceId="picture" PartnerClaimType="thumbnail_portrait" DefaultValue="unknown portrait" />
         <OutputClaim ClaimTypeReferenceId="middle_name" PartnerClaimType="middle_name" DefaultValue="unknown middle name" />
         <OutputClaim ClaimTypeReferenceId="birthdate" PartnerClaimType="birthdate" DefaultValue="unknown DOB" />
         <OutputClaim ClaimTypeReferenceId="newUser" PartnerClaimType="signupConditionsSatisfied" DefaultValue="false" />
       </OutputClaims>
       <SubjectNamingInfo ClaimType="sub" />
     </TechnicalProfile>
   </RelyingParty>

Przekazywanie zasad niestandardowych

Aby uzyskać poniższe instrukcje, użyj katalogu z dzierżawą usługi Azure AD B2C.

  1. Zaloguj się w witrynie Azure Portal.
  2. Na pasku narzędzi portalu wybierz katalogi i subskrypcje.
  3. Na stronie Ustawienia portalu katalogi i subskrypcje na liście Nazwa katalogu znajdź katalog Azure AD B2C.
  4. Wybierz pozycję Przełącz.
  5. W Azure Portal wyszukaj i wybierz pozycję Azure AD B2C.
  6. W obszarze Zasady wybierz pozycję Struktura środowiska tożsamości.
  7. Wybierz pozycję Przekaż zasady niestandardowe.
  8. Przekaż dwa zmienione pliki zasad w następującej kolejności:
  • Zasady rozszerzenia, na przykład TrustFrameworkBase.xml
  • Zasady jednostki uzależnionej, na przykład SignUp.xml

Testowanie zasad niestandardowych

  1. Wybierz zasady jednostki uzależnionej, na przykład B2C_1A_signup.
  2. W polu Aplikacja wybierz zarejestrowaną aplikację internetową.
  3. Adres URL odpowiedzi to https://jwt.ms.
  4. Wybierz pozycję Uruchom teraz.
  5. Zasady rejestracji wywołują eID-Me.
  6. W przypadku logowania wybierz pozycję eID-Me.
  7. Przeglądarka przekierowuje do https://jwt.ms.
  8. Zostanie wyświetlona zawartość tokenu zwrócona przez usługę Azure AD B2C.

Dowiedz się więcej: Samouczek: rejestrowanie aplikacji internetowej w usłudze Azure AD B2C

Następne kroki