Azure Active Directory B2C'de özel ilkeler kullanarak AD FS'yi OpenID Bağlan kimlik sağlayıcısı olarak ekleme

Başlamadan önce, ayarladığınız ilke türünü seçmek için İlke türü seçin seçicisini kullanın. Azure Active Directory B2C, kullanıcıların uygulamalarınızla nasıl etkileşim kurduğunu tanımlamak için iki yöntem sunar: önceden tanımlanmış kullanıcı akışları veya tam olarak yapılandırılabilir özel ilkeler aracılığıyla. Bu makalede gerekli adımlar her yöntem için farklıdır.

Önkoşullar

AD FS uygulaması oluşturma

Azure Active Directory B2C'de (Azure AD B2C) AD FS hesabı olan kullanıcılar için oturum açmayı etkinleştirmek için AD FS'nizde bir Uygulama Grubu oluşturun. Daha fazla bilgi için bkz. AD FS 2016 ve üzeri ile OpenID Bağlan kullanarak web uygulaması oluşturma

Uygulama Grubu oluşturmak için şu adımları izleyin:

  1. Sunucu Yöneticisi Araçlar'ı ve ardından AD FS Yönetimi'yi seçin.
  2. AD FS Yönetimi'nde, Uygulama Grupları'nda sağ tıklayın ve Uygulama Grubu Ekle'yi seçin.
  3. Uygulama Grubu Sihirbazı Hoş Geldiniz ekranında:
    1. Uygulamanızın Adını girin. Örneğin, Azure AD B2C uygulaması.
    2. İstemci-Sunucu uygulamaları'nın altında bir web uygulaması şablonuna erişen Web tarayıcısını seçin.
    3. İleri’yi seçin.
  4. Uygulama Grubu Sihirbazı Yerel Uygulama ekranında:
    1. İstemci Tanımlayıcısı değerini kopyalayın. İstemci tanımlayıcısı, AD FS Uygulama Kimliğinizdir. Bu makalenin devamında uygulama kimliğine ihtiyacınız olacaktır.
    2. Yeniden yönlendirme URI'sine yazın ve ekle'yi seçinhttps://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. Özel bir etki alanı kullanıyorsanız girin https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. değerini kiracınızın adıyla ve your-domain-name özel etki alanınızla değiştirinyour-tenant-name.
    3. Uygulama kayıt sihirbazını tamamlamak için İleri'yi ve ardından İleri'yi ve sonra yeniden İleri'yi seçin.
    4. Kapat'ı seçin.

Uygulama taleplerini yapılandırma

Bu adımda, AD FS uygulamasının Azure AD B2C'ye döndürdüğü beyanları yapılandırın.

  1. Uygulama Grupları'nda oluşturduğunuz uygulamayı seçin.

  2. Uygulama özellikleri penceresinde, Uygulamalar'ın altında Web Uygulaması'nı seçin. Ardından Düzenle’yi seçin. Screenshot that shows how to edit a web application.

  3. Verme Dönüştürme Kuralları sekmesini seçin. Ardından Kural Ekle'yi seçin.

  4. Talep kuralı şablonunda LDAP özniteliklerini talep olarak gönder'i ve ardından İleri'yi seçin.

  5. Talep kuralı adı girin. Öznitelik deposu için Active Directory'yi seçin ve aşağıdaki talepleri ekleyin.

    LDAP özniteliği Giden talep türü
    Kullanıcı Asıl Adı upn
    Surname family_name
    Verilen Ad given_name
    Görünen Ad name

    Bazı adların giden talep türü açılan listesinde görüntülenmeyeceğini unutmayın. Bunları el ile yazmanız gerekir (açılan menü düzenlenebilir).

  6. Son'u seçin.

  7. Uygula'yı ve ardından Tamam'ı seçin.

  8. Bitirmek için yeniden Tamam'ı seçin.

AD FS'yi kimlik sağlayıcısı olarak yapılandırma

  1. Azure portalda Azure AD B2C kiracınızın genel yöneticisi olarak oturum açın.

  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için üstteki menüden Ayarlar simgesini seçin.

  3. Azure portalının sol üst köşesindeki Tüm hizmetler'i seçin ve ardından Azure AD B2C'yi arayıp seçin.

  4. Kimlik sağlayıcıları'yı ve ardından Yeni OpenID Bağlan sağlayıcı'yı seçin.

  5. Bir Ad girin. Örneğin, Contoso.

  6. Meta veri URL'si için AD FS OpenID Bağlan Yapılandırması belgesinin URL'sini girin. Örnek:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  7. İstemci Kimliği için daha önce kaydettiğiniz uygulama kimliğini girin.

  8. Kapsam için girinopenid.

  9. Yanıt türü için id_token'ı seçin. Bu nedenle, İstemci gizli anahtarı değeri gerekli değildir. Genel bir OpenID Bağlan kimlik sağlayıcısı eklerken İstemci Kimliği ve gizli dizi kullanımı hakkında daha fazla bilgi edinin.

  10. (İsteğe bağlı) Etki alanı ipucu için girincontoso.com. Daha fazla bilgi için bkz . Azure Active Directory B2C kullanarak doğrudan oturum açmayı ayarlama.

  11. Kimlik sağlayıcısı beyan eşlemesi'nin altında aşağıdaki talepleri seçin:

    • Kullanıcı Kimliği: upn
    • Görünen ad: unique_name
    • Verilen ad: given_name
    • Soyadı: family_name
  12. Kaydet'i seçin.

Kullanıcı akışına AD FS kimlik sağlayıcısı ekleme

Bu noktada, AD FS (Contoso) kimlik sağlayıcısı ayarlanmıştır, ancak henüz oturum açma sayfalarının hiçbirinde kullanılamaz. AD FS kimlik sağlayıcısını bir kullanıcı akışına eklemek için:

  1. Azure AD B2C kiracınızda Kullanıcı akışları'yı seçin.
  2. AD FS kimlik sağlayıcısını (Contoso) eklemek istediğiniz kullanıcı akışını seçin.
  3. Sosyal kimlik sağlayıcıları altında Contoso'ya tıklayın.
  4. Kaydet'i seçin.
  5. İlkenizi test etmek için Kullanıcı akışını çalıştır'ı seçin.
  6. Uygulama için daha önce kaydettiğiniz testapp1 adlı web uygulamasını seçin. Yanıt URL'si göstermelidirhttps://jwt.ms.
  7. Kullanıcı akışını çalıştır düğmesini seçin.
  8. Contoso hesabıyla oturum açmak için kaydolma veya oturum açma sayfasında Contoso'yı seçin.

Oturum açma işlemi başarılı olursa, tarayıcınız Azure AD B2C tarafından döndürülen belirtecin içeriğini görüntüleyen öğesine yönlendirilir https://jwt.ms.

AD FS'yi kimlik sağlayıcısı olarak yapılandırma

Kullanıcıların AD FS hesabı kullanarak oturum açmasını sağlamak için AD FS'yi Azure AD B2C'nin bir uç nokta üzerinden iletişim kurabileceği bir talep sağlayıcısı olarak tanımlamanız gerekir.

  1. TrustFrameworkExtensions.xml dosyasını açın.

  2. ClaimsProviders öğesini bulun. Yoksa kök öğesinin altına ekleyin.

  3. Aşağıdaki gibi yeni bir ClaimsProvider ekleyin:

    <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. Meta Veri URL'si için AD FS OpenID Bağlan Yapılandırması belgesinin URL'sini girin. Örnek:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  5. client_id uygulama kaydından uygulama kimliğine ayarlayın.

  6. Dosyayı kaydedin.

Kullanıcı yolculuğu ekleme

Bu noktada, kimlik sağlayıcısı ayarlanmıştır, ancak henüz oturum açma sayfalarından herhangi birinde kullanılamaz. Kendi özel kullanıcı yolculuğunuz yoksa, mevcut şablon kullanıcı yolculuğunun bir kopyasını oluşturun, aksi takdirde sonraki adıma geçin.

  1. Başlangıç paketinden TrustFrameworkBase.xml dosyasını açın.
  2. içeren Id="SignUpOrSignIn"UserJourney öğesinin tüm içeriğini bulun ve kopyalayın.
  3. TrustFrameworkExtensions.xml dosyasını açın ve UserJourneys öğesini bulun. Öğesi yoksa bir tane ekleyin.
  4. UserJourneys öğesinin alt öğesi olarak kopyaladığınız UserJourney öğesinin tüm içeriğini yapıştırın.
  5. Kullanıcı yolculuğunun kimliğini yeniden adlandırın. Örneğin, Id="CustomSignUpSignIn".

Kimlik sağlayıcısını kullanıcı yolculuğuna ekleme

Artık bir kullanıcı yolculuğunuz olduğuna göre, yeni kimlik sağlayıcısını kullanıcı yolculuğuna ekleyin. Önce bir oturum açma düğmesi eklersiniz, ardından düğmeyi bir eyleme bağlarsınız. Eylem, daha önce oluşturduğunuz teknik profildir.

  1. veya içeren düzenleme adımı öğesini Type="CombinedSignInAndSignUp"Type="ClaimsProviderSelection" kullanıcı yolculuğunda bulun. Genellikle ilk düzenleme adımıdır. ClaimsProviderSelections öğesi, kullanıcının oturum açabileceği kimlik sağlayıcılarının listesini içerir. Öğelerin sırası, kullanıcıya sunulan oturum açma düğmelerinin sırasını denetler. ClaimsProviderSelection XML öğesi ekleyin. TargetClaimsExchangeId değerini kolay bir ad olarak ayarlayın.

  2. Sonraki düzenleme adımında claimsexchange öğesi ekleyin. Kimliği hedef talep değişim kimliğinin değerine ayarlayın. TechnicalProfileReferenceId değerini daha önce oluşturduğunuz teknik profilin kimliğine güncelleştirin.

Aşağıdaki XML, kimlik sağlayıcısıyla bir kullanıcı yolculuğunun ilk iki düzenleme adımını gösterir:

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

Bağlı olan taraf ilkesini yapılandırma

Bağlı olan taraf ilkesi, örneğin SignUpSignIn.xml, Azure AD B2C'nin yürüteceği kullanıcı yolculuğunu belirtir. Bağlı olan taraf içinde DefaultUserJourney öğesini bulun. ReferenceId değerini, kimlik sağlayıcısını eklediğiniz kullanıcı yolculuğu kimliğiyle eşleşecek şekilde güncelleştirin.

Aşağıdaki örnekte, kullanıcı yolculuğu için CustomSignUpSignIn ReferenceId değeri olarak CustomSignUpSignInayarlanmıştır:

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

Özel ilkeyi karşıya yükleme

  1. Azure Portal oturum açın.
  2. Portal araç çubuğunda Dizin + Abonelik simgesini ve ardından Azure AD B2C kiracınızı içeren dizini seçin.
  3. Azure portalında Azure AD B2C'yi arayın ve seçin.
  4. İlkeler'in altında Kimlik Deneyimi Çerçevesi'ne tıklayın.
  5. Özel İlkeyi Karşıya Yükle'yi seçin ve değiştirdiğiniz iki ilke dosyasını şu sırayla karşıya yükleyin: uzantı ilkesi, örneğin TrustFrameworkExtensions.xml, ve gibi SignUpSignIn.xmlbağlı olan taraf ilkesi.

Özel ilkenizi test edin

  1. Bağlı olan taraf ilkenizi seçin, örneğin B2C_1A_signup_signin.
  2. Uygulama için daha önce kaydettiğiniz bir web uygulamasını seçin. Yanıt URL'si göstermelidirhttps://jwt.ms.
  3. Şimdi çalıştır düğmesini seçin.
  4. Contoso hesabıyla oturum açmak için kaydolma veya oturum açma sayfasında Contoso'yı seçin.

Oturum açma işlemi başarılı olursa, tarayıcınız Azure AD B2C tarafından döndürülen belirtecin içeriğini görüntüleyen öğesine yönlendirilir https://jwt.ms.

Sonraki adımlar

Uygulamanıza AD-FS belirtecini geçirmeyi öğrenin.