Udostępnij przez


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

Ważne

Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.

Przed rozpoczęciem użyj selektora Wybierz typ zasad w górnej części tej strony, 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 / Notatka

W usłudze Azure Active Directory B2C niestandardowe zasady 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

Aby włączyć logowanie dla użytkowników przy użyciu konta X w usłudze Azure AD B2C, musisz utworzyć aplikację X. Jeśli nie masz jeszcze konta X, możesz zarejestrować się pod adresem https://x.com/signup. Musisz również ubiegać się o konto dewelopera. Aby uzyskać więcej informacji, zobacz Apply for access.

  1. Zaloguj się do portalu deweloperów X przy użyciu poświadczeń konta X.
  2. Wybierz przycisk + Utwórz projekt .
  3. Na karcie Nazwa projektu wprowadź preferowaną nazwę projektu, a następnie wybierz przycisk Dalej .
  4. Na karcie Przypadek użycia wybierz preferowany przypadek użycia, a następnie wybierz przycisk Dalej.
  5. Na karcie Opis projektu wprowadź opis projektu, a następnie wybierz przycisk Dalej .
  6. Na karcie Nazwa aplikacji wprowadź nazwę aplikacji, taką jak azureadb2c, a następnie wybierz przycisk Dalej .
  7. Na karcie Klucze i tokeny skopiuj wartość klucza API i sekretu klucza API. Będą one używane do późniejszej konfiguracji.
  8. Wybierz pozycję Ustawienia aplikacji , aby otworzyć ustawienia aplikacji.
  9. W dolnej części strony w obszarze Ustawienia uwierzytelniania użytkownika wybierz pozycję Skonfiguruj.
  10. W obszarze Typ aplikacji wybierz odpowiedni typ aplikacji, taki jak Aplikacja internetowa.
  11. W obszarze Informacje o aplikacji:
    1. W polu Identyfikator URI/Adres URL przekierowania wprowadź wartość https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/your-policy-id/oauth1/authresp. Jeśli używasz domeny niestandardowej, wprowadź.https://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp Użyj wszystkich małych liter podczas wprowadzania nazwy dzierżawy i identyfikatora przepływu użytkownika, nawet jeśli są one zdefiniowane z wielkimi literami w usłudze Azure AD B2C. Wymienić:
      • your-tenant-name z nazwą dzierżawcy.
      • your-domain-name z Twoją własną domeną.
      • your-policy-id z identyfikatorem przepływu użytkownika. Na przykład b2c_1a_signup_signin_x.
    2. W polu Adres URL witryny internetowej wprowadź .https://your-tenant.b2clogin.com Zastąp your-tenant nazwą swojego najemcy. Na przykład https://contosob2c.b2clogin.com. Jeśli używasz domeny niestandardowej, wprowadź.https://your-domain-name
    3. (Opcjonalnie) Wprowadź adres URL warunków użytkowania usługi, na przykład http://www.contoso.com/tos. Adres URL polityki to strona, którą utrzymujesz, aby podać warunki i postanowienia swojej aplikacji.
    4. (Opcjonalnie) Wprowadź adres URL zasad ochrony prywatności, na przykład http://www.contoso.com/privacy. Adres URL zasad to strona, którą utrzymujesz, aby zapewnić informacje o ochronie prywatności aplikacji.
  12. Wybierz Zapisz.
  1. Zaloguj się do portalu deweloperów X przy użyciu poświadczeń konta X.
  2. Wybierz przycisk + Utwórz projekt .
  3. Na karcie Nazwa projektu wprowadź preferowaną nazwę projektu, a następnie wybierz przycisk Dalej .
  4. Na karcie Przypadek użycia wybierz preferowany przypadek użycia, a następnie wybierz przycisk Dalej.
  5. Na karcie Opis projektu wprowadź opis projektu, a następnie wybierz przycisk Dalej .
  6. Na karcie Nazwa aplikacji wprowadź nazwę aplikacji, taką jak azureadb2c, a następnie wybierz przycisk Dalej .
  7. Na karcie Klucze i tokeny skopiuj wartość klucza interfejsu API i tajemnicy klucza interfejsu API do późniejszego użycia. Oba z nich służą do konfigurowania X jako dostawcy tożsamości w dzierżawie usługi Azure AD B2C.
  8. Wybierz pozycję Ustawienia aplikacji , aby otworzyć ustawienia aplikacji.
  9. W dolnej części strony w obszarze Ustawienia uwierzytelniania użytkownika wybierz pozycję Skonfiguruj.
  10. W obszarze Typ aplikacji wybierz odpowiedni typ aplikacji, taki jak Aplikacja internetowa.
  11. W obszarze Informacje o aplikacji:
    1. W polu Identyfikator URI/Adres URL przekierowania wprowadź wartość https://your-tenant.b2clogin.com/your-tenant-name.onmicrosoft.com/your-user-flow-name/oauth1/authresp. Jeśli używasz domeny niestandardowej, wprowadź.https://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp Użyj wszystkich małych liter podczas wprowadzania nazwy dzierżawy i identyfikatora przepływu użytkownika, nawet jeśli są one zdefiniowane z wielkimi literami w usłudze Azure AD B2C. Wymienić:
      • your-tenant-name z nazwą dzierżawcy.
      • your-domain-name z Twoją własną domeną.
      • your-user-flow-name z identyfikatorem przepływu użytkownika. Na przykład b2c_1_signup_signin_x.
    2. W polu Adres URL witryny internetowej wprowadź .https://your-tenant.b2clogin.com Zastąp your-tenant nazwą swojego najemcy. Na przykład https://contosob2c.b2clogin.com. Jeśli używasz domeny niestandardowej, wprowadź.https://your-domain-name
    3. Wprowadź adres URL warunków użytkowania usługi, na przykład http://www.contoso.com/tos. Adres URL polityki to strona, którą utrzymujesz, aby podać warunki i postanowienia swojej aplikacji.
    4. Wprowadź adres URL zasad ochrony prywatności, na przykład http://www.contoso.com/privacy. Adres URL zasad to strona, którą utrzymujesz, aby zapewnić informacje o ochronie prywatności aplikacji.
  12. Wybierz Zapisz.

Skonfiguruj X jako dostawcę tożsamości

  1. Zaloguj się do witryny Azure Portal przy użyciu konta, które ma co najmniej uprawnienia administratora zewnętrznego dostawcy tożsamości .
  2. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się na dzierżawę Azure AD B2C z menu Katalogi + subskrypcje.
  3. Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, wyszukaj i wybierz pozycję Azure AD B2C.
  4. Wybierz pozycję Dostawcy tożsamości, a następnie wybierz pozycję Twitter.
  5. W polu Nazwa wprowadź nazwę. Na przykład X.
  6. W polu Identyfikator klienta wprowadź klucz interfejsu API utworzonej wcześniej aplikacji X.
  7. W polu Klucz tajny klienta wprowadź tajny klucz API, który został zarejestrowany.
  8. Wybierz Zapisz.

Dodaj dostawcę tożsamości X do przepływu użytkownika

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

  1. W dzierżawie Azure AD B2C wybierz opcję Przepływy użytkownika.
  2. Wybierz przepływ użytkownika, do którego chcesz dodać dostawcę tożsamości X.
  3. W obszarze Dostawcy tożsamości społecznościowych wybierz pozycję Twitter.
  4. Wybierz Zapisz.

Testowanie przepływu użytkownika

  1. Aby przetestować politykę, wybierz pozycję Uruchom przepływ użytkownika.
  2. 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.
  3. Wybierz przycisk Uruchom przepływ użytkownika.
  4. Na stronie rejestracji lub logowania wybierz pozycję Twitter , aby zalogować się przy użyciu konta X.

Tworzenie klucza zasad

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

  1. Zaloguj się do witryny Azure Portal.
  2. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się na dzierżawę Azure AD B2C z menu Katalogi + subskrypcje.
  3. W witrynie Azure Portal wyszukaj i wybierz pozycję Azure AD B2C.
  4. W menu po lewej stronie w obszarze Zasady wybierz pozycję Identity Experience Framework.
  5. Wybierz Klucze zasad, a następnie wybierz Dodaj.
  6. W obszarze Opcje wybierz pozycję Manual.
  7. Wprowadź nazwę klucza zasad. Na przykład XSecret. Prefiks B2C_1A_ jest dodawany automatycznie do nazwy klucza.
  8. W Hasło wpisz wcześniej zarejestrowaną wartość tajnego klucza interfejsu API.
  9. W obszarze Użycie klucza wybierz pozycję Signature.
  10. Kliknij pozycję Utwórz.

Skonfiguruj X jako dostawcę tożsamości

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

Konto X można zdefiniować jako dostawcę oświadczeń, dodając je do elementu ClaimsProviders w pliku rozszerzenia zasad. Zapoznaj się z niestandardowym pakietem startowym zasad pobranym w sekcji Wymagania wstępne tego artykułu.

  1. Otwórz 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>x.com</Domain>
      <DisplayName>X</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Twitter-OAuth1">
          <DisplayName>X</DisplayName>
          <Protocol Name="OAuth1" />
          <Metadata>
            <Item Key="ProviderName">Twitter</Item>
            <Item Key="authorization_endpoint">https://api.twitter.com/oauth/authenticate</Item>
            <Item Key="access_token_endpoint">https://api.twitter.com/oauth/access_token</Item>
            <Item Key="request_token_endpoint">https://api.twitter.com/oauth/request_token</Item>
            <Item Key="ClaimsEndpoint">https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true</Item>
            <Item Key="ClaimsResponseFormat">json</Item>
            <Item Key="client_id">Your X application API key</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_TwitterSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="user_id" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="screen_name" />
            <OutputClaim ClaimTypeReferenceId="email" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="twitter.com" />
            <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. Zastąp wartość client_idkluczem interfejsu API , który został wcześniej zarejestrowany.

  5. Zapisz plik.

Dodanie ścieżki 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 niestandardowej podróży użytkownika, utwórz duplikat szablonu podróży użytkownika, inaczej 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 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ń identyfikator podróży użytkownika. Na przykład Id="CustomSignUpSignIn".

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

Teraz, gdy masz ścieżkę użytkownika, dodaj nowego dostawcę tożsamości do tej ścieżki. 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" lub Type="ClaimsProviderSelection" w ścieżce 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 XML ClaimsProviderSelection. Ustaw wartość TargetClaimsExchangeId na przyjazną nazwę.

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

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

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="TwitterExchange" TechnicalProfileReferenceId="Twitter-OAuth1" />
  </ClaimsExchanges>
</OrchestrationStep>

Konfigurowanie polityki podmiotu polegającego

Polityka zaufanej strony, na przykład SignUpSignIn.xml, określa podróż użytkownika, którą zrealizuje Azure AD B2C. Znajdź element DefaultUserJourney w stronie zaufanej. 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 dla ścieżki użytkownika CustomSignUpSignIn identyfikator ReferenceId jest ustawiony na:CustomSignUpSignIn

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

Przekaż zasady niestandardowe

  1. Zaloguj się do witryny 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 Policieswybierz pozycję Identity Experience Framework.
  5. Wybierz Załaduj zasady niestandardowe, a następnie załaduj dwa zmienione pliki zasad w następującej kolejności: zasady rozszerzenia, na przykład TrustFrameworkExtensions.xml, a następnie zasady strony zależnej, takie jak SignUpSignIn.xml.

Przetestuj swoje zasady niestandardowe

  1. Wybierz zasady zaufanej strony, 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ę Twitter , aby zalogować się przy użyciu konta X.

Jeśli proces logowania zakończy się pomyślnie, przeglądarka zostanie przekierowana do https://jwt.ms, gdzie wyświetlana jest zawartość tokenu zwróconego przez Azure AD B2C.

Wskazówka

Jeśli napotykasz unauthorized błąd podczas testowania tego dostawcy tożsamości, upewnij się, że używasz poprawnego klucza X API i tajnego klucza API, lub spróbuj uzyskać podwyższony dostęp. Ponadto zalecamy zapoznanie się ze strukturą projektów X, jeśli aplikacja została zarejestrowana przed udostępnieniem tej funkcji.