Nastavení registrace a přihlášení pomocí účtu Twitteru 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ší.
Poznámka:
V Azure Active Directory B2C jsou vlastní zásady navržené především pro řešení složitých scénářů. Ve většině scénářů doporučujeme používat integrované toky uživatelů. Pokud jste to neudělali, přečtěte si informace o úvodním balíčku vlastních zásad v tématu Začínáme s vlastními zásadami ve službě Active Directory B2C.
Předpoklady
- Vytvořte tok uživatele, aby se uživatelé mohli zaregistrovat a přihlásit k vaší aplikaci.
- Zaregistrujte webovou aplikaci.
Vytvoření aplikace
Pokud chcete uživatelům povolit přihlášení pomocí účtu Twitteru v Azure AD B2C, musíte vytvořit aplikaci Twitter. Pokud ještě nemáte účet Twitteru, můžete se zaregistrovat na adrese https://twitter.com/signup
. Musíte také požádat o vývojářský účet. Další informace najdete v tématu Použití přístupu.
- Přihlaste se k portálu pro vývojáře Twitteru pomocí svých přihlašovacích údajů k účtu Twitteru.
- Vyberte tlačítko + Vytvořit projekt .
- V části Karta Název projektu zadejte upřednostňovaný název projektu a pak vyberte tlačítko Další .
- V části Karta Případ použití vyberte upřednostňovaný případ použití a pak vyberte Další.
- V části Karta Popis projektu zadejte popis projektu a pak vyberte tlačítko Další .
- V části Karta Název aplikace zadejte název aplikace, například azureadb2c, a vyberte tlačítko Další .
- Na kartě Tokeny klíčů & zkopírujte hodnotu klíče rozhraní API a tajného klíče rozhraní API. Použijete je pro pozdější konfiguraci.
- Výběrem možnosti Nastavení aplikace otevřete nastavení aplikace.
- V dolní části stránky v části Nastavení ověřování uživatele vyberte Nastavit.
- V části Typ aplikace vyberte příslušný typ aplikace, například webovou aplikaci.
- V části Informace o aplikaci:
- Jako adresu URI zpětného volání nebo adresu URL pro přesměrování zadejte
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/your-policy-id/oauth1/authresp
. Pokud používáte vlastní doménu, zadejtehttps://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp
. Při zadávání názvu tenanta a ID toku uživatele používejte všechna malá písmena, i když jsou definovaná velkými písmeny v Azure AD B2C. Nahradit:your-tenant-name
s názvem vašeho tenanta.your-domain-name
s vlastní doménou.your-policy-id
s identifikátorem vašeho toku uživatele. Například,b2c_1a_signup_signin_twitter
.
- Jako adresu URL webu zadejte
https://your-tenant.b2clogin.com
. Nahraďteyour-tenant
názvem vašeho tenanta. Například,https://contosob2c.b2clogin.com
. Pokud používáte vlastní doménu, zadejtehttps://your-domain-name
. - (Volitelné) Zadejte adresu URL podmínek služby, například
http://www.contoso.com/tos
. Adresa URL zásad je stránka, kterou udržujete, abyste zadali podmínky a ujednání pro vaši aplikaci. - (Volitelné) Zadejte adresu URL pro zásady ochrany osobních údajů, například
http://www.contoso.com/privacy
. Adresa URL zásad je stránka, kterou udržujete, aby poskytovala informace o ochraně osobních údajů pro vaši aplikaci.
- Jako adresu URI zpětného volání nebo adresu URL pro přesměrování zadejte
- Zvolte Uložit.
- Přihlaste se k portálu pro vývojáře Twitteru pomocí svých přihlašovacích údajů k účtu Twitteru.
- Vyberte tlačítko + Vytvořit projekt .
- V části Karta Název projektu zadejte upřednostňovaný název projektu a pak vyberte tlačítko Další .
- V části Karta Případ použití vyberte upřednostňovaný případ použití a pak vyberte Další.
- V části Karta Popis projektu zadejte popis projektu a pak vyberte tlačítko Další .
- V části Karta Název aplikace zadejte název aplikace, například azureadb2c, a vyberte tlačítko Další .
- Na kartě Tokeny klíčů & zkopírujte hodnotu klíče rozhraní API a tajného klíče rozhraní API pro pozdější použití. Obě z nich použijete ke konfiguraci Twitteru jako zprostředkovatele identity ve vašem tenantovi Azure AD B2C.
- Výběrem možnosti Nastavení aplikace otevřete nastavení aplikace.
- V dolní části stránky v části Nastavení ověřování uživatele vyberte Nastavit.
- V části Typ aplikace vyberte příslušný typ aplikace, například webovou aplikaci.
- V části Informace o aplikaci:
- Jako adresu URI zpětného volání nebo adresu URL pro přesměrování zadejte
https://your-tenant.b2clogin.com/your-tenant-name.onmicrosoft.com/your-user-flow-name/oauth1/authresp
. Pokud používáte vlastní doménu, zadejtehttps://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp
. Při zadávání názvu tenanta a ID toku uživatele používejte všechna malá písmena, i když jsou definovaná velkými písmeny v Azure AD B2C. Nahradit:your-tenant-name
s názvem vašeho tenanta.your-domain-name
s vlastní doménou.your-user-flow-name
s identifikátorem vašeho toku uživatele. Například,b2c_1_signup_signin_twitter
.
- Jako adresu URL webu zadejte
https://your-tenant.b2clogin.com
. Nahraďteyour-tenant
názvem vašeho tenanta. Například,https://contosob2c.b2clogin.com
. Pokud používáte vlastní doménu, zadejtehttps://your-domain-name
. - Zadejte adresu URL podmínek služby, například
http://www.contoso.com/tos
. Adresa URL zásad je stránka, kterou udržujete, abyste zadali podmínky a ujednání pro vaši aplikaci. - Zadejte adresu URL pro zásady ochrany osobních údajů, například
http://www.contoso.com/privacy
. Adresa URL zásad je stránka, kterou udržujete, aby poskytovala informace o ochraně osobních údajů pro vaši aplikaci.
- Jako adresu URI zpětného volání nebo adresu URL pro přesměrování zadejte
- Zvolte Uložit.
Konfigurace Twitteru jako zprostředkovatele identity
- Přihlaste se k webu Azure Portal jako globální správce vašeho tenanta Azure AD B2C.
- 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.
- Zvolte Všechny služby v levém horním rohu portálu Azure Portal a vyhledejte a vyberte Azure AD B2C.
- Vyberte zprostředkovatele identity a pak vyberte Twitter.
- Zadejte Název. Například Twitter.
- Jako ID klienta zadejte klíč rozhraní API aplikace Twitter, kterou jste vytvořili dříve.
- Jako tajný klíč klienta zadejte tajný klíč rozhraní API, který jste si poznamenali.
- Zvolte Uložit.
Přidání zprostředkovatele identity Twitteru do toku uživatele
V tuto chvíli je zprostředkovatele identity Twitteru nastavený, ale zatím není k dispozici na žádné přihlašovací stránce. Přidání zprostředkovatele identity Twitteru do toku uživatele:
- V tenantovi Azure AD B2C vyberte Toky uživatelů.
- Vyberte tok uživatele, který chcete přidat zprostředkovatele identity Twitteru.
- V části Zprostředkovatelé sociálních identit vyberte Twitter.
- Zvolte Uložit.
Testování toku uživatele
- Pokud chcete zásady otestovat, vyberte Spustit tok uživatele.
- 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
. - Vyberte tlačítko Spustit tok uživatele.
- Na registrační nebo přihlašovací stránce vyberte Twitter a přihlaste se pomocí účtu Twitter.
Vytvoření klíče zásad
V tenantovi Azure AD B2C musíte uložit tajný klíč, který jste si předtím poznamenali pro aplikaci Twitter.
- Přihlaste se k portálu Azure.
- 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.
- Na webu Azure Portal vyhledejte a vyberte Azure AD B2C.
- V nabídce vlevo v části Zásady vyberte Architekturu prostředí identit.
- Vyberte Klíče zásad a pak vyberte Přidat.
- V nabídce Možnosti zvolte
Manual
. - Zadejte název klíče zásady. Například,
TwitterSecret
. PředponaB2C_1A_
se automaticky přidá do názvu klíče. - Jako tajný klíč zadejte hodnotu tajného klíče rozhraní API, kterou jste si předtím poznamenali.
- V případě použití klíče vyberte
Signature
. - Klikněte na Vytvořit.
Konfigurace Twitteru jako zprostředkovatele identity
Pokud chcete uživatelům umožnit přihlášení pomocí účtu Twitter, musíte ho 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 Twitteru 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. Projděte si úvodní balíček vlastních zásad, který jste stáhli v části Požadavky tohoto článku.
Otevřete Soubor TrustFrameworkExtensions.xml.
Vyhledejte element ClaimsProviders . Pokud neexistuje, přidejte ho pod kořenový prvek.
Přidejte nový ClaimsProvider následujícím způsobem:
<ClaimsProvider> <Domain>twitter.com</Domain> <DisplayName>Twitter</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="Twitter-OAuth1"> <DisplayName>Twitter</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 Twitter 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>
Nahraďte hodnotu client_id klíčem rozhraní API, který jste si předtím poznamenali.
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.
- Otevřete soubor TrustFrameworkBase.xml z úvodní sady.
- Najděte a zkopírujte celý obsah prvku UserJourney , který obsahuje
Id="SignUpOrSignIn"
. - Otevřete TrustFrameworkExtensions.xml a najděte element UserJourneys. Pokud prvek neexistuje, přidejte ho.
- Vložte celý obsah elementu UserJourney , který jste zkopírovali jako podřízený prvek UserJourneys .
- 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.
Najděte prvek kroku orchestrace, který zahrnuje
Type="CombinedSignInAndSignUp"
neboType="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.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="TwitterExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="TwitterExchange" TechnicalProfileReferenceId="Twitter-OAuth1" />
</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
- Přihlaste se k portálu Azure.
- Na panelu nástrojů portálu vyberte ikonu Adresář a předplatné a pak vyberte adresář, který obsahuje vašeho tenanta Azure AD B2C.
- Na webu Azure Portal vyhledejte a vyberte Azure AD B2C.
- V části Zásady vyberte Architekturu prostředí identit.
- 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říkladSignUpSignIn.xml
.
Testování vlastních zásad
- Vyberte například zásadu
B2C_1A_signup_signin
předávající strany. - V části Aplikace vyberte webovou aplikaci, kterou jste předtím zaregistrovali. Adresa URL odpovědi by se měla zobrazit
https://jwt.ms
. - Vyberte tlačítko Spustit hned.
- Na registrační nebo přihlašovací stránce vyberte Twitter a přihlaste se pomocí účtu Twitter.
Pokud je proces přihlášení úspěšný, prohlížeč se přesměruje na https://jwt.ms
obsah tokenu vráceného službou Azure AD B2C.
Tip
Pokud při testování tohoto zprostředkovatele identity dochází unauthorized
k chybě, ujistěte se, že používáte správný klíč rozhraní Twitter API a tajný klíč klíče rozhraní API, nebo zkuste použít přístup se zvýšenými oprávněními. Doporučujeme také podívat se na strukturu projektů Twitteru, pokud jste aplikaci zaregistrovali dříve, než byla tato funkce dostupná.