Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Od 1. května 2025 už nebude Azure AD B2C k dispozici k nákupu pro nové zákazníky. Další informace najdete v našich nejčastějších dotazech.
Než začnete, pomocí selektoru Zvolit typ zásady v horní části této stránky 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:
Tato funkce je ve verzi Public Preview.
Důležité
Od května 2021 GitHub oznámil změnu, která má vliv na vaši federaci vlastních zásad Azure AD B2C. Kvůli změně přidejte <Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item> metadata do technického profilu GitHubu. Další informace najdete v tématu Vyřazení ověřování rozhraní API prostřednictvím parametrů dotazu.
Požadavky
- Vytvořte tok uživatele, aby se uživatelé mohli zaregistrovat a přihlásit k vaší aplikaci.
- Zaregistrujte webovou aplikaci.
- Dokončete kroky v Začněte s vlastními zásadami ve službě Azure Active Directory B2C. V tomto kurzu se dozvíte, jak aktualizovat soubory vlastních zásad tak, aby používaly konfiguraci tenanta Azure AD B2C.
- Zaregistrujte webovou aplikaci.
Vytvoření aplikace OAuth GitHubu
Pokud chcete povolit přihlášení pomocí účtu GitHubu v Azure Active Directory B2C (Azure AD B2C), musíte vytvořit aplikaci na portálu pro vývojáře GitHubu . Další informace najdete v tématu Vytvoření aplikace OAuth. Pokud ještě nemáte účet GitHubu, můžete se zaregistrovat na adrese https://www.github.com/.
- Přihlaste se k vývojáři GitHubu pomocí přihlašovacích údajů GitHubu.
- Vyberte Aplikace OAuth a pak vyberte Nová aplikace OAuth.
- Zadejte název aplikace a adresu URL domovské stránky.
- Jako adresu URL zpětného volání autorizace zadejte
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. Pokud používáte vlastní doménu, zadejtehttps://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Nahraďteyour-domain-namevlastní doménou ayour-tenant-namenázvem vašeho tenanta. Při zadávání názvu tenanta používejte všechna malá písmena, i když je tenant definovaný velkými písmeny v Azure AD B2C. - Klikněte na Zaregistrovat aplikaci.
- Zkopírujte hodnoty ID klienta a tajného klíče klienta. K přidání poskytovatele identity do vašeho tenanta je třeba obojí.
Konfigurace GitHubu jako zprostředkovatele identity
- Přihlaste se k webu Azure Portal pomocí účtu, který má alespoň oprávnění správce externího zprostředkovatele identity .
- Pokud máte přístup k více tenantům, vyberte ikonu Nastavení v horní nabídce a přepněte se do svého tenanta Azure AD B2C z nabídky Adresáře + předplatná.
- V levém horním rohu webu Azure Portal zvolte Všechny služby , vyhledejte a vyberte Azure AD B2C.
- Vyberte zprostředkovatele identity a pak vyberte GitHub (Preview).
- Zadejte Název. Například GitHub.
- Jako ID klienta zadejte ID klienta aplikace GitHub, kterou jste vytvořili dříve.
- Jako tajný klíč klienta zadejte tajný klíč klienta, který jste si poznamenali.
- Vyberte Uložit.
Přidání zprostředkovatele identity GitHubu do toku uživatele
V tuto chvíli je zprostředkovatel identity GitHub nastaven, avšak zatím není k dispozici na žádné přihlašovací stránce. Přidání zprostředkovatele identity GitHubu do toku uživatele:
- V tenantovi Azure AD B2C vyberte Toky uživatelů.
- Klikněte na tok uživatele, ke kterému chcete přidat zprostředkovatele identity GitHub.
- V části Zprostředkovatelé sociálních identit vyberte GitHub.
- Vyberte Uložit.
- Pokud chcete zásady otestovat, vyberte Spustit uživatelský průběh.
- 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 GitHub , abyste se přihlásili pomocí účtu GitHub.
Pokud je proces přihlášení úspěšný, prohlížeč se přesměruje na https://jwt.ms, který zobrazí obsah tokenu vráceného službou Azure AD B2C.
Vytvořte klíč zásad
Musíte uložit tajný klíč klienta, který jste předtím zaznamenali ve svém tenantovi Azure AD B2C.
- Přihlaste se do Azure Portalu.
- Pokud máte přístup k více tenantům, vyberte ikonu Nastavení v horní nabídce a přepněte se do svého tenanta Azure AD B2C z nabídky Adresáře + předplatná.
- V levém horním rohu webu Azure Portal zvolte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
- Na stránce Přehled vyberte Identity Experience Framework.
- Vyberte Klíče zásad a pak vyberte Přidat.
- V nabídce Možnosti zvolte
Manual. - Zadejte název klíče pro zásady. Například:
GitHubSecret. PředponaB2C_1A_se automaticky přidá do názvu klíče. - V tajném kódu zadejte tajný klíč klienta, který jste předtím zaznamenali.
- V případě použití klíče vyberte
Signature. - Klikněte na Vytvořit.
Konfigurace GitHubu jako zprostředkovatele identity
Pokud chcete uživatelům umožnit přihlášení pomocí účtu GitHub, 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 GitHubu 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.
Otevřete 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>github.com</Domain> <DisplayName>GitHub</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="GitHub-OAuth2"> <DisplayName>GitHub</DisplayName> <Protocol Name="OAuth2" /> <Metadata> <Item Key="ProviderName">github.com</Item> <Item Key="authorization_endpoint">https://github.com/login/oauth/authorize</Item> <Item Key="AccessTokenEndpoint">https://github.com/login/oauth/access_token</Item> <Item Key="ClaimsEndpoint">https://api.github.com/user</Item> <Item Key="HttpBinding">GET</Item> <Item Key="scope">read:user user:email</Item> <Item Key="UsePolicyInRedirectUri">0</Item> <Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item> <Item Key="UserAgentForClaimsExchange">CPIM-Basic/{tenant}/{policy}</Item> <!-- Update the Client ID below to the Application ID --> <Item Key="client_id">Your GitHub application ID</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_GitHubSecret"/> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" /> <OutputClaim ClaimTypeReferenceId="numericUserId" PartnerClaimType="id" /> <OutputClaim ClaimTypeReferenceId="issuerUserId" /> <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="github.com" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateIssuerUserId" /> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/> <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>Nastavte client_id na ID aplikace z registrace aplikace.
Uložte soubor.
Přidejte transformace nároků
Technický profil GitHubu vyžaduje, aby byly transformace deklarací CreateIssuerUserId přidány do seznamu ClaimTransformations. Pokud nemáte v souboru definovaný element ClaimsTransformations , přidejte nadřazené elementy XML, jak je znázorněno níže. Transformace deklarací identity také potřebují nový typ deklarace identity definovaný s názvem numericUserId.
- Vyhledejte prvek BuildingBlocks. Pokud prvek neexistuje, přidejte ho.
- Vyhledejte prvek ClaimsSchema. Pokud prvek neexistuje, přidejte ho.
- Přidejte položku numericUserId do prvku ClaimsSchema.
- Vyhledejte element ClaimsTransformations . Pokud prvek neexistuje, přidejte ho.
- Přidejte transformace deklarací identity CreateIssuerUserId do elementu ClaimsTransformations .
<BuildingBlocks>
<ClaimsSchema>
<ClaimType Id="numericUserId">
<DisplayName>Numeric user Identifier</DisplayName>
<DataType>long</DataType>
</ClaimType>
</ClaimsSchema>
<ClaimsTransformations>
<ClaimsTransformation Id="CreateIssuerUserId" TransformationMethod="ConvertNumberToStringClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="issuerUserId" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
</BuildingBlocks>
Přidat cestu uživatele
V tuto chvíli je poskytovatel identity nastaven, ale zatím není k dispozici na žádné z přihlašovacích stránek. 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 souborTrustFrameworkBase.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 elementu UserJourneys.
- Přejmenujte ID cesty uživatele. Například:
Id="CustomSignUpSignIn".
Přidání poskytovatele identity do cesty uživatele
Teď, když máte cestu uživatele, přidejte do cesty uživatele nového zprostředkovatele identity. Nejdříve přidáte tlačítko pro přihlášení, a pak tlačítko propojíte s akcí. Akce je technický profil, který jste vytvořili dříve.
Najděte prvek kroku orchestrace, který zahrnuje
Type="CombinedSignInAndSignUp"neboType="ClaimsProviderSelection"v uživatelské cestě. 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 XML element ClaimsProviderSelection Nastavte hodnotu TargetClaimsExchangeId na snadno zapamatovatelný 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="GitHubExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="GitHubExchange" TechnicalProfileReferenceId="GitHub-OAuth2" />
</ClaimsExchanges>
</OrchestrationStep>
Konfigurujte zásady důvěřující strany
Zásady předávající strany, například SignUpSignIn.xml, určují cestu uživatele, kterou Azure AD B2C provede. Najděte element DefaultUserJourney ve spoléhající se straně. Aktualizujte ReferenceId tak, aby odpovídalo ID cesty uživatele, do které 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>
Nahrajte vlastní zásadu
- Přihlaste se do Azure Portalu.
- 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ásadya potom nahrajte dva soubory zásad, které jste změnili, v následujícím pořadí: nejprve zásady rozšíření, například
TrustFrameworkExtensions.xml, a poté zásady spoléhající strany, napříkladSignUpSignIn.xml.
Otestujte své vlastní zásady
- Vyberte zásady důvěřující strany, například
B2C_1A_signup_signin. - Pro aplikaci vyberte webovou aplikaci, kterou jste dříve zaregistrovali. Adresa URL odpovědi by se měla zobrazit
https://jwt.ms. - Vyberte tlačítko Spustit nyní.
- Na registrační nebo přihlašovací stránce vyberte GitHub , abyste se přihlásili pomocí účtu GitHub.
Pokud je proces přihlášení úspěšný, prohlížeč se přesměruje na https://jwt.ms, který zobrazí obsah tokenu vráceného službou Azure AD B2C.
Další kroky
- Zjistěte, jak předat token GitHubu do vaší aplikace.
- Podívejte se na ukázku federace GitHubu Live a na to, jak předat ukázku přístupového tokenu GitHubu Live.