Nastavení registrace a přihlášení pomocí účtu Google 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, jak uživatelé pracují 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ší.

Důležité

Od 30. září 2021 google zastaralá podporu přihlašování k webovému zobrazení. Pokud vaše aplikace ověřují uživatele pomocí vloženého webového zobrazení a používáte federaci Google s Azure AD B2C, uživatelé Google Gmailu se nebudou moct ověřit. Přečtěte si další informace.

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 o úvodním balíčku vlastních zásad v Začínáme s vlastními zásadami ve službě Active Directory B2C.

Požadavky

Vytvoření aplikace Google

Pokud chcete uživatelům povolit přihlášení pomocí účtu Google v Azure Active Directory B2C (Azure AD B2C), musíte vytvořit aplikaci v konzole Google Developers Console. Další informace najdete v tématu Nastavení OAuth 2.0. Pokud ještě nemáte účet Google, můžete se zaregistrovat na adrese https://accounts.google.com/signup.

  1. Přihlaste se ke konzole Google Developers Console pomocí přihlašovacích údajů účtu Google.
  2. V levém horním rohu stránky vyberte seznam projektů a pak vyberte Nový Project.
  3. Zadejte Project Název a vyberte Vytvořit.
  4. Ujistěte se, že nový projekt používáte tak, že v levém horním rohu obrazovky vyberete rozevírací seznam projektu. Vyberte projekt podle názvu a pak vyberte Otevřít.
  5. V nabídce vlevo vyberte rozhraní API a služby a pak obrazovku souhlasu OAuth. Vyberte Externí a pak vyberte Vytvořit.
    1. Zadejte název aplikace.
    2. Vyberte e-mail podpory uživatele.
    3. V části Doména aplikace zadejte odkaz na domovskou stránku aplikace, odkaz na zásady ochrany osobních údajů aplikace a odkaz na podmínky služby aplikace.
    4. V části Autorizované domény zadejte b2clogin.com.
    5. V části Kontaktní informace pro vývojáře zadejte čárkami oddělené e-maily pro Google, které vás upozorní na všechny změny projektu.
    6. Vyberte Uložit.
  6. V nabídce vlevo vyberte Přihlašovací údaje a pak vyberte VytvořitID klienta Oauth.>
  7. V části Typ aplikace vyberte webovou aplikaci.
    1. Zadejte název aplikace.
    2. Pro autorizované původy JavaScriptu zadejte https://your-tenant-name.b2clogin.com. Pokud používáte vlastní doménu, zadejte https://your-domain-name.
    3. Jako identifikátory URI pro autorizované přesměrování zadejte https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. Pokud používáte vlastní doménu, zadejte https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Nahraďte your-domain-name vlastní doménou a your-tenant-name ná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.
  8. Klikněte na Vytvořit.
  9. Zkopírujte hodnoty ID klienta a tajného klíče klienta. Obě z nich budete potřebovat ke konfiguraci Google jako zprostředkovatele identity ve vašem tenantovi. Tajný klíč klienta je důležité přihlašovací údaje zabezpečení.

Konfigurace Google jako zprostředkovatele identity

  1. Přihlaste se k webu Azure Portal jako globální správce vašeho tenanta Azure AD B2C.
  2. Ujistěte se, že používáte adresář, který obsahuje vašeho tenanta B2C Azure AD. Na panelu nástrojů portálu vyberte ikonu Adresáře a předplatná .
  3. Na | nastavení portálu Adresář a stránka předplatných, vyhledejte adresář Azure AD B2C v seznamu názvů adresářů a pak vyberte Přepnout.
  4. Zvolte Všechny služby v levém horním rohu portálu Azure Portal a vyhledejte a vyberte Azure AD B2C.
  5. Vyberte zprostředkovatelé identity a pak vyberte Google.
  6. Zadejte název. Například Google.
  7. Jako ID klienta zadejte ID klienta aplikace Google, kterou jste vytvořili dříve.
  8. Jako tajný klíč klienta zadejte tajný klíč klienta, který jste si poznamenali.
  9. Vyberte Uložit.

Přidání zprostředkovatele identity Google do toku uživatele

V tomto okamžiku je zprostředkovatel identity Google nastavený, ale zatím není k dispozici na žádné přihlašovací stránce. Přidání zprostředkovatele identity Google do toku uživatele:

  1. V tenantovi Azure AD B2C vyberte Toky uživatelů.
  2. Klikněte na tok uživatele, který chcete přidat zprostředkovatele identity Google.
  3. V části Zprostředkovatelé sociálních identit vyberte Google.
  4. Vyberte Uložit.
  5. Pokud chcete zásady otestovat, vyberte Spustit tok uživatele.
  6. V případě aplikace vyberte webovou aplikaci s názvem testapp1 , kterou jste předtím zaregistrovali. Adresa URL odpovědi by měla být zobrazena https://jwt.ms.
  7. Vyberte tlačítko Spustit tok uživatele .
  8. Na přihlašovací stránce nebo na přihlašovací stránce vyberte Google , abyste se přihlásili pomocí účtu Google.

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 Azure AD B2C.

Vytvoření klíče zásady

Musíte uložit tajný klíč klienta, který jste si předtím poznamenali ve svém tenantovi Azure AD B2C.

  1. Přihlaste se k webu Azure Portal.
  2. Ujistěte se, že používáte adresář, který obsahuje vašeho tenanta B2C Azure AD. Na panelu nástrojů portálu vyberte ikonu Adresáře a předplatná .
  3. Na | nastavení portálu Adresář a stránka předplatných, vyhledejte adresář Azure AD B2C v seznamu názvů adresářů a pak vyberte Přepnout.
  4. V levém horním rohu Azure Portal zvolte Všechny služby a vyhledejte a vyberte Azure AD B2C.
  5. Na stránce Přehled vyberte rozhraní Identity Experience Framework.
  6. Vyberte Klíče zásad a pak vyberte Přidat.
  7. V nabídce Možnosti zvolte Manual.
  8. Zadejte název klíče zásady. Například, GoogleSecret. Předpona B2C_1A_ se automaticky přidá do názvu vašeho klíče.
  9. Do tajného kódu zadejte tajný klíč klienta, který jste si předtím poznamenali.
  10. V případě použití klíče vyberte Signature.
  11. Klikněte na Vytvořit.

Konfigurace Google jako zprostředkovatele identity

Pokud chcete uživatelům umožnit přihlášení pomocí účtu Google, musíte ho definovat jako zprostředkovatele deklarací identity, se kterým Azure AD B2C může komunikovat prostřednictvím koncového bodu. Koncový bod poskytuje sadu deklarací identity, které Azure AD B2C k ověření ověření konkrétního uživatele.

Účet Google můžete definovat jako zprostředkovatele deklarací tím, že ho přidáte do elementu ClaimsProviders v souboru přípony zásad.

  1. Otevřete TrustFrameworkExtensions.xml.

  2. Vyhledejte element ClaimsProviders . Pokud neexistuje, přidejte ho pod kořenový prvek.

  3. Přidejte nový zprostředkovatel deklarací identity následujícím způsobem:

    <ClaimsProvider>
      <Domain>google.com</Domain>
      <DisplayName>Google</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Google-OAuth2">
          <DisplayName>Google</DisplayName>
          <Protocol Name="OAuth2" />
          <Metadata>
            <Item Key="ProviderName">google</Item>
            <Item Key="authorization_endpoint">https://accounts.google.com/o/oauth2/auth</Item>
            <Item Key="AccessTokenEndpoint">https://accounts.google.com/o/oauth2/token</Item>
            <Item Key="ClaimsEndpoint">https://www.googleapis.com/oauth2/v1/userinfo</Item>
            <Item Key="scope">email profile</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="client_id">Your Google application ID</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_GoogleSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="id" />
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="google.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. Nastavte client_id na ID aplikace z registrace aplikace.

  5. Soubor uložte.

Přidání cesty uživatele

V tuto chvíli je zprostředkovatel 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.

  1. Otevřete souborTrustFrameworkBase.xml z úvodní sady.
  2. Najděte a zkopírujte celý obsah prvku UserJourney , který obsahuje Id="SignUpOrSignIn".
  3. Otevřete TrustFrameworkExtensions.xml a najděte element UserJourneys . Pokud prvek neexistuje, přidejte ho.
  4. Vložte celý obsah elementu UserJourney , který jste zkopírovali jako podřízený prvek UserJourneys .
  5. Přejmenujte ID cesty uživatele. Například, Id="CustomSignUpSignIn".

Přidání zprostředkovatele identity na cestu 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 ho propojte s akcí. Akce je technický profil, který jste vytvořili dříve.

  1. Vyhledejte prvek kroku orchestrace, který zahrnuje Type="CombinedSignInAndSignUp"nebo Type="ClaimsProviderSelection" na cestě uživatele. 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í přihlašovacích tlačítek zobrazených uživateli. Přidejte element XML ClaimsProviderSelection . Nastavte hodnotu TargetClaimsExchangeId na popisný název.

  2. 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í XML ukazuje první dva kroky orchestrace cesty uživatele se zprostředkovatelem identity:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="GoogleExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="GoogleExchange" TechnicalProfileReferenceId="Google-OAuth2" />
  </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 se 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>

Upload vlastní zásady

  1. Přihlaste se k webu Azure Portal.
  2. Na panelu nástrojů portálu vyberte ikonu Adresář a předplatné a pak vyberte adresář, který obsahuje vašeho tenanta Azure AD B2C.
  3. V Azure Portal vyhledejte a vyberte Azure AD B2C.
  4. V části Zásady vyberte rozhraní Identity Experience Framework.
  5. Vyberte Upload vlastní zásady a pak nahrajte dva soubory zásad, které jste změnili, v následujícím pořadí: například zásady rozšíření, TrustFrameworkExtensions.xmlpak zásady předávající strany, například SignUpSignIn.xml.

Testování vlastních zásad

  1. Vyberte zásadu předávající strany, například B2C_1A_signup_signin.
  2. V části Aplikace vyberte webovou aplikaci, kterou jste předtím zaregistrovali. Adresa URL odpovědi by měla být zobrazena https://jwt.ms.
  3. Vyberte tlačítko Spustit.
  4. Na přihlašovací stránce nebo na přihlašovací stránce vyberte Google , abyste se přihlásili pomocí účtu Google.

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 Azure AD B2C.

Další kroky