Konfigurowanie rejestracji i logowania przy użyciu konta Microsoft 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.

Uwaga

W usłudze Azure Active Directory B2C zasady niestandardowe są przeznaczone głównie do rozwiązywania złożonych scenariuszy. W przypadku większości scenariuszy zalecamy używanie wbudowanych przepływów użytkownika. Jeśli nie zostało to zrobione, dowiedz się więcej o niestandardowym pakiecie startowym zasad w temacie Wprowadzenie do zasad niestandardowych w usłudze Active Directory B2C.

Wymagania wstępne

Tworzenie aplikacji konta Microsoft

Aby włączyć logowanie dla użytkowników przy użyciu konta Microsoft w usłudze Azure Active Directory B2C (Azure AD B2C), musisz utworzyć aplikację w witrynie Azure Portal. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft. Jeśli nie masz jeszcze konta Microsoft, możesz uzyskać je na stronie https://www.live.com/.

  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 Microsoft Entra ID 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 pozycję Rejestracje aplikacji.

  4. Wybierz Nowa rejestracja.

  5. Wprowadź nazwę aplikacji. Na przykład MSAapp1.

  6. W obszarze Obsługiwane typy kont wybierz osobiste konta Microsoft (np. Skype, Xbox).

    Aby uzyskać więcej informacji na temat wyboru różnych typów kont, zobacz Szybki start: rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft.

  7. W obszarze Identyfikator URI przekierowania (opcjonalnie) wybierz pozycję Sieć Web i wprowadź wartość 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-tenant-name ciąg nazwą dzierżawy usługi Azure AD B2C i your-domain-name domeną niestandardową.

  8. Wybierz pozycję Zarejestruj

  9. Zarejestruj identyfikator aplikacji (klienta) wyświetlany na stronie Przegląd aplikacji. Identyfikator klienta jest potrzebny podczas konfigurowania dostawcy tożsamości w następnej sekcji.

  10. Wybieranie wpisów tajnych certyfikatów &

  11. Kliknij pozycję Nowy klucz tajny klienta

  12. Wprowadź opis wpisu tajnego, na przykład hasło aplikacji 1, a następnie kliknij przycisk Dodaj.

  13. Zarejestruj hasło aplikacji wyświetlane w kolumnie Wartość . Klucz tajny klienta jest potrzebny podczas konfigurowania dostawcy tożsamości w następnej sekcji.

Konfigurowanie firmy Microsoft jako dostawcy tożsamości

  1. Zaloguj się w witrynie Azure Portal jako administrator globalny dzierżawy usługi Azure AD B2C.
  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. Wybierz pozycję Dostawcy tożsamości, a następnie wybierz pozycję Konto Microsoft.
  5. Wprowadź nazwę. Na przykład MSA.
  6. W polu Identyfikator klienta wprowadź identyfikator aplikacji (klienta) utworzonej wcześniej aplikacji Microsoft Entra.
  7. W polu Klucz tajny klienta wprowadź zarejestrowany wpis tajny klienta.
  8. Wybierz pozycję Zapisz.

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

Na tym etapie dostawca tożsamości firmy Microsoft został skonfigurowany, ale nie jest jeszcze dostępny na żadnej ze stron logowania. Aby dodać dostawcę tożsamości firmy Microsoft 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 firmy Microsoft.
  3. W obszarze Dostawcy tożsamości społecznościowych wybierz pozycję Konto Microsoft.
  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ę Microsoft , aby zalogować się przy użyciu konta Microsoft.

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.

Konfigurowanie opcjonalnych oświadczeń

Jeśli chcesz uzyskać family_name oświadczenia i given_name z identyfikatora Entra firmy Microsoft, możesz skonfigurować opcjonalne oświadczenia dla aplikacji w interfejsie użytkownika witryny Azure Portal lub manifeście aplikacji. Aby uzyskać więcej informacji, zobacz How to provide optional claims to your Microsoft Entra app (Jak dostarczyć opcjonalne oświadczenia do aplikacji Microsoft Entra).

  1. Zaloguj się w witrynie Azure Portal. Wyszukaj i wybierz pozycję Microsoft Entra ID.
  2. W sekcji Zarządzanie wybierz pozycję Rejestracje aplikacji.
  3. Wybierz aplikację, dla której chcesz skonfigurować opcjonalne oświadczenia na liście.
  4. W sekcji Zarządzanie wybierz pozycję Konfiguracja tokenu (wersja zapoznawcza).
  5. Wybierz Dodaj opcjonalne roszczenie.
  6. Wybierz typ tokenu, który chcesz skonfigurować.
  7. Wybierz opcjonalne oświadczenia do dodania.
  8. Kliknij pozycję Dodaj.

Tworzenie klucza zasad

Po utworzeniu aplikacji w dzierżawie usługi Microsoft Entra musisz przechowywać klucz tajny klienta tej aplikacji 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 MSASecret. Prefiks B2C_1A_ jest dodawany automatycznie do nazwy klucza.
  8. W obszarze Wpis tajny wprowadź wpis tajny klienta zarejestrowany w poprzedniej sekcji.
  9. W obszarze Użycie klucza wybierz pozycję Signature.
  10. Kliknij pozycję Utwórz.

Konfigurowanie firmy Microsoft jako dostawcy tożsamości

Aby umożliwić użytkownikom logowanie się przy użyciu konta Microsoft, musisz 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.

Identyfikator entra firmy Microsoft można zdefiniować jako dostawcę oświadczeń, dodając element ClaimsProvider w pliku rozszerzenia zasad.

  1. Otwórz plik zasad 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>live.com</Domain>
      <DisplayName>Microsoft Account</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="MSA-MicrosoftAccount-OpenIdConnect">
          <DisplayName>Microsoft Account</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="ProviderName">https://login.live.com</Item>
            <Item Key="METADATA">https://login.live.com/.well-known/openid-configuration</Item>
            <Item Key="response_types">code</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid profile email</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="client_id">Your Microsoft application client ID</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_MSASecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
            <OutputClaim ClaimTypeReferenceId="email" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Zastąp wartość client_id za pomocą zarejestrowanego wcześniej identyfikatora aplikacji (klienta) aplikacji (klienta) firmy Microsoft.

  5. Zapisz plik.

Zasady zostały już skonfigurowane, aby usługa Azure AD B2C wiedziała, jak komunikować się z aplikacją konta Microsoft w usłudze Microsoft Entra ID.

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="MicrosoftAccountExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="MicrosoftAccountExchange" TechnicalProfileReferenceId="MSA-MicrosoftAccount-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ę Microsoft , aby zalogować się przy użyciu konta Microsoft.

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.