Přidání služby AD FS jako zprostředkovatele identity OpenID Připojení pomocí vlastních zásad v 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ší.

Předpoklady

Vytvoření aplikace AD FS

Pokud chcete povolit přihlašování pro uživatele s účtem AD FS v Azure Active Directory B2C (Azure AD B2C), vytvořte ve službě AD FS skupinu aplikací. Další informace najdete v tématu Vytvoření webové aplikace pomocí OpenID Připojení se službou AD FS 2016 a novějším.

Pokud chcete vytvořit skupinu aplikací, postupujte takto:

  1. V Správce serveru vyberte Nástroje a pak vyberte Správa služby AD FS.
  2. Ve správě služby AD FS klikněte pravým tlačítkem na skupiny aplikací a vyberte Přidat skupinu aplikací.
  3. Na úvodní obrazovce Průvodce skupinou aplikací:
    1. Zadejte název aplikace. Například aplikace Azure AD B2C.
    2. V části Aplikace klient-server vyberte webový prohlížeč, který přistupuje k šabloně webové aplikace .
    3. Vyberte Další.
  4. Na obrazovce Průvodce skupinou aplikací – nativní aplikace :
    1. Zkopírujte hodnotu identifikátoru klienta. Identifikátor klienta je ID aplikace služby AD FS. ID aplikace budete potřebovat později v tomto článku.
    2. Do identifikátoru URI přesměrování zadejte https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authrespa pak přidejte. Pokud používáte vlastní doménu, zadejte https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Nahraďte your-tenant-name názvem vašeho tenanta a your-domain-name vlastní doménou.
    3. Vyberte Další a pak další a pak znovu a dokončete průvodce registrací aplikace.
    4. Vyberte Zavřít.

Konfigurace deklarací identity aplikací

V tomto kroku nakonfigurujte aplikaci AD FS deklarací identity, která se vrátí do Azure AD B2C.

  1. Ve skupinách aplikací vyberte aplikaci, kterou jste vytvořili.

  2. V okně vlastností aplikace v části Aplikace vyberte webovou aplikaci. Pak vyberte Edit (Upravit). Screenshot that shows how to edit a web application.

  3. Vyberte kartu Pravidla transformace vystavení. Pak vyberte Přidat pravidlo.

  4. V šabloně pravidla deklarace identity vyberte Odeslat atributy LDAP jako deklarace identity a pak další.

  5. Zadejte název pravidla deklarace identity. Pro úložiště atributů vyberte Active Directory a přidejte následující deklarace identity.

    Atribut LDAP Typ odchozí deklarace identity
    Hlavní název uživatele upn
    Surname family_name
    Zadaný název given_name
    Zobrazovaný název name

    Všimněte si, že některé názvy se v rozevíracím seznamu typu odchozí deklarace identity nezobrazí. Musíte je zadat ručně (rozevírací seznam je možné upravit).

  6. Vyberte Dokončit.

  7. Vyberte Použít a pak OK.

  8. Dalším kliknutím na TLAČÍTKO OK dokončete.

Konfigurace služby AD FS jako zprostředkovatele identity

  1. Přihlaste se k webu Azure Portal jako globální správce vašeho tenanta Azure AD B2C.

  2. 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.

  3. V levém horním rohu webu Azure Portal zvolte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.

  4. Vyberte zprostředkovatele identity a pak vyberte Nový zprostředkovatele OpenID Připojení.

  5. Zadejte Název. Například Contoso.

  6. Jako adresu URL metadat zadejte adresu URL openID služby AD FS Připojení konfiguračního dokumentu. Příklad:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  7. Jako ID klienta zadejte ID aplikace, které jste si předtím poznamenali.

  8. Pro obor zadejte .openid

  9. Jako typ odpovědi vyberte id_token. Proto není nutná hodnota tajného klíče klienta. Přečtěte si další informace o použití ID klienta a tajného klíče při přidávání obecného zprostředkovatele identity OpenID Připojení.

  10. (Volitelné) Jako nápovědu k doméně zadejte contoso.com. Další informace najdete v tématu Nastavení přímého přihlašování pomocí Azure Active Directory B2C.

  11. V části Mapování deklarací identity vyberte následující deklarace identity:

    • ID uživatele: upn
    • Zobrazovaný název: unique_name
    • Jméno:given_name
    • Příjmení: family_name
  12. Zvolte Uložit.

Přidání zprostředkovatele identity služby AD FS do toku uživatele

V tuto chvíli je zprostředkovatele identity SLUŽBY AD FS (Contoso) nastavený, ale zatím není k dispozici na žádné přihlašovací stránce. Přidání zprostředkovatele identity služby AD FS do toku uživatele:

  1. V tenantovi Azure AD B2C vyberte Toky uživatelů.
  2. Vyberte tok uživatele, který chcete přidat zprostředkovatele identity služby AD FS (Contoso).
  3. V části Zprostředkovatelé sociálních identit vyberte Contoso.
  4. Zvolte Uložit.
  5. Pokud chcete zásady otestovat, vyberte Spustit tok uživatele.
  6. 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.
  7. Vyberte tlačítko Spustit tok uživatele.
  8. Na registrační nebo přihlašovací stránce vyberte Contoso , abyste se přihlásili pomocí účtu Contoso.

Pokud je proces přihlášení úspěšný, prohlížeč se přesměruje na https://jwt.msobsah tokenu vráceného službou Azure AD B2C.

Konfigurace služby AD FS jako zprostředkovatele identity

Pokud chcete uživatelům umožnit přihlášení pomocí účtu SLUŽBY AD FS, musíte službu AD FS definovat jako zprostředkovatele deklarací identity, se kterými může Azure AD B2C komunikovat prostřednictvím koncového bodu.

  1. Otevřete Soubor TrustFrameworkExtensions.xml.

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

  3. Přidejte nový ClaimsProvider následujícím způsobem:

    <ClaimsProvider>
      <Domain>contoso.com</Domain>
      <DisplayName>Contoso</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Contoso-OpenIdConnect">
          <DisplayName>Contoso</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://your-adfs-domain/adfs/.well-known/openid-configuration</Item>
            <Item Key="response_types">id_token</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">0</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">Your AD FS application ID</Item>
          </Metadata>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="upn" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="unique_name" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss"  />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Jako adresu URL metadat zadejte adresu URL openID služby AD FS Připojení konfiguračního dokumentu. Příklad:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  5. Nastavte client_id na ID aplikace z registrace aplikace.

  6. 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.

  1. Otevřete soubor TrustFrameworkBase.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 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.

  1. Najděte prvek kroku orchestrace, který zahrnuje Type="CombinedSignInAndSignUp"nebo Type="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.

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

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="ContosoExchange" TechnicalProfileReferenceId="Contoso-OpenIdConnect" />
  </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

  1. Přihlaste se k portálu Azure.
  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. Na webu Azure Portal vyhledejte a vyberte Azure AD B2C.
  4. V části Zásady vyberte Architekturu prostředí identit.
  5. 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říklad SignUpSignIn.xml.

Testování vlastních zásad

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

Pokud je proces přihlášení úspěšný, prohlížeč se přesměruje na https://jwt.msobsah tokenu vráceného službou Azure AD B2C.

Další kroky

Zjistěte, jak do aplikace předat token SLUŽBY AD-FS.