Azure Active Directory B2C'de uygulamanıza kimlik sağlayıcısı erişim belirteci geçirme

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.

Azure Active Directory B2C'deki (Azure AD B2C) kullanıcı akışı, uygulamanızın kullanıcılarına bir kimlik sağlayıcısına kaydolma veya oturum açma fırsatı sağlar. Yolculuk başladığında, Azure AD B2C kimlik sağlayıcısından bir erişim belirteci alır. Azure AD B2C, kullanıcı hakkındaki bilgileri almak için bu belirteci kullanır. Belirteci Azure AD B2C'ye kaydettiğiniz uygulamalara geçirmek için kullanıcı akışınızda bir talebi etkinleştirirsiniz.

Azure AD B2C, Facebook ve Google dahil OAuth 2.0 kimlik sağlayıcılarının erişim belirtecinin geçirilmesini destekler. Diğer tüm kimlik sağlayıcıları için talep boş döndürülür.

Azure AD B2C, OAuth 2.0 ve OpenID Bağlan kimlik sağlayıcılarının erişim belirtecinin geçirilmesini destekler. Diğer tüm kimlik sağlayıcıları için talep boş döndürülür. Daha fazla ayrıntı için kimlik sağlayıcıları federasyonu Canlı tanıtımına göz atın.

Aşağıdaki diyagramda bir kimlik sağlayıcısı belirtecinin uygulamanıza nasıl döndürdüğü gösterilmektedir:

Identity provider pass through flow

Önkoşullar

Talebi etkinleştirme

  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 sol üst köşesinde Tüm hizmetler’i seçin ve Azure AD B2C’yi arayıp seçin.

  4. Kullanıcı akışları (ilkeler) öğesini ve ardından kullanıcı akışınızı seçin. Örneğin, B2C_1_signupsignin1.

  5. Uygulama talepleri’ni seçin.

  6. Kimlik Sağlayıcısı Erişim Belirteci talebi'ni etkinleştirin.

    Enable the Identity Provider Access Token claim

  7. Kullanıcı akışını kaydetmek için Kaydet'e tıklayın.

Kullanıcı akışını test edin

Uygulamalarınızı Azure AD B2C'de test ederken, Azure AD B2C belirtecinin iade https://jwt.ms edilerek içindeki talepleri gözden geçirmesi yararlı olabilir.

  1. Kullanıcı akışının Genel Bakış sayfasında Kullanıcı akışını çalıştır'ı seçin.

  2. Uygulama için daha önce kaydettiğiniz uygulamanızı seçin. Aşağıdaki örnekte belirteci görmek için Yanıt URL'si göstermelidirhttps://jwt.ms.

  3. Kullanıcı akışını çalıştır'a tıklayın ve ardından hesap kimlik bilgilerinizle oturum açın. kimlik sağlayıcısının erişim belirtecini idp_access_token talepte görmeniz gerekir.

    Aşağıdaki örneğe benzer bir şey görmeniz gerekir:

    Decoded token in jwt.ms with idp_access_token block highlighted

Talep öğelerini ekleme

  1. TrustframeworkExtensions.xml dosyanızı açın ve ClaimsSchema öğesine tanımlayıcısı identityProviderAccessTokenile aşağıdaki ClaimType öğesini ekleyin:

    <BuildingBlocks>
      <ClaimsSchema>
        <ClaimType Id="identityProviderAccessToken">
          <DisplayName>Identity Provider Access Token</DisplayName>
          <DataType>string</DataType>
          <AdminHelpText>Stores the access token of the identity provider.</AdminHelpText>
        </ClaimType>
        ...
      </ClaimsSchema>
    </BuildingBlocks>
    
  2. Erişim belirtecini almak istediğiniz her OAuth 2.0 kimlik sağlayıcısı için TechnicalProfile öğesine OutputClaim öğesini ekleyin. Aşağıdaki örnekte Facebook teknik profiline eklenen öğe gösterilmektedir:

    <ClaimsProvider>
      <DisplayName>Facebook</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Facebook-OAUTH">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="{oauth2:access_token}" />
          </OutputClaims>
          ...
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. TrustframeworkExtensions.xml dosyasını kaydedin.

  4. SignUpOrSignIn.xml gibi bağlı olan taraf ilkesi dosyanızı açın ve OutputClaim öğesini TechnicalProfile dosyasına ekleyin:

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <TechnicalProfile Id="PolicyProfile">
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="idp_access_token"/>
        </OutputClaims>
        ...
      </TechnicalProfile>
    </RelyingParty>
    
  5. İlke dosyasını kaydedin.

İlkenizi test etme

Uygulamalarınızı Azure AD B2C'de test ederken, içindeki talepleri gözden geçirebilmek için https://jwt.ms Azure AD B2C belirtecinin döndürülebilmesi yararlı olabilir.

Dosyaları karşıya yükleme

  1. Azure Portal 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 Deneyimi Çerçevesi'ne tıklayın.
  5. Özel İlkeler sayfasında İlkeyi Karşıya Yükle'ye tıklayın.
  6. varsa ilkenin üzerine yaz'ı seçin ve trustframeworkExtensions.xml dosyasını arayın ve seçin.
  7. Yükle'yi seçin.
  8. SignUpOrSignIn.xml gibi bağlı olan taraf dosyası için 5 ile 7 arasındaki adımları yineleyin.

İlkeyi çalıştırma

  1. Değiştirdiğiniz ilkeyi açın. Örneğin, B2C_1A_signup_signin.

  2. Uygulama için daha önce kaydettiğiniz uygulamanızı seçin. Aşağıdaki örnekte belirteci görmek için Yanıt URL'si göstermelidirhttps://jwt.ms.

  3. Şimdi Çalıştır'ı seçin.

    Aşağıdaki örneğe benzer bir şey görmeniz gerekir:

    Decoded token in jwt.ms with idp_access_token block highlighted

IDP yenileme belirtecini geçirme (isteğe bağlı)

Kimlik sağlayıcısının döndürdüğü erişim belirteci kısa bir süre için geçerlidir. Bazı kimlik sağlayıcıları, erişim belirteciyle birlikte bir yenileme belirteci de yayımlar. Daha sonra istemci uygulamanız gerektiğinde kimlik sağlayıcısının yenileme belirtecini yeni erişim belirteci ile değiştirebilir.

Azure AD B2C özel ilkesi, Facebook, Google ve GitHub dahil OAuth 2.0 kimlik sağlayıcılarının yenileme belirtecinin geçirilmesini destekler.

Kimlik sağlayıcısının yenileme belirtecini geçirmek için şu adımları izleyin:

  1. TrustframeworkExtensions.xml dosyanızı açın ve ClaimsSchema öğesine tanımlayıcısı identityProviderRefreshTokenile aşağıdaki ClaimType öğesini ekleyin.

    <ClaimType Id="identityProviderRefreshToken">
        <DisplayName>Identity provider refresh token</DisplayName>
        <DataType>string</DataType>
    </ClaimType>
    
  2. Yenileme belirtecini almak istediğiniz her OAuth 2.0 kimlik sağlayıcısı için TechnicalProfile öğesine OutputClaim öğesini ekleyin. Aşağıdaki örnekte Facebook teknik profiline eklenen öğe gösterilmektedir:

    <ClaimsProvider>
      <DisplayName>Facebook</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Facebook-OAUTH">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="{oauth2:refresh_token}" />
          </OutputClaims>
          ...
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Bazı kimlik sağlayıcıları, kimlik sağlayıcısının teknik profiline meta veriler veya kapsamlar eklemenizi gerektirir.

    • Google kimlik sağlayıcısı için iki talep türü access_type ve promptekleyin. Ardından kimlik sağlayıcısının teknik profiline aşağıdaki giriş taleplerini ekleyin:

      <InputClaims>
          <InputClaim ClaimTypeReferenceId="access_type" PartnerClaimType="access_type" DefaultValue="offline" AlwaysUseDefaultValue="true" />
      
          <!-- The refresh_token is return only on the first authorization for a given user. Subsequent authorization request doesn't return the refresh_token.
              To fix this issue we add the prompt=consent query string parameter to the authorization request-->
          <InputClaim ClaimTypeReferenceId="prompt" PartnerClaimType="prompt" DefaultValue="consent" AlwaysUseDefaultValue="true" />
      </InputClaims>
      
    • Diğer kimlik sağlayıcılarının yenileme belirteci vermek için farklı yöntemleri olabilir. Kimlik sağlayıcısının hedef kitlesini takip edin ve kimlik sağlayıcınızın teknik profiline gerekli öğeleri ekleyin.

  4. TrustframeworkExtensions.xml dosyanızda yaptığınız değişiklikleri kaydedin.

  5. SignUpOrSignIn.xml gibi bağlı olan taraf ilkesi dosyanızı açın ve OutputClaim öğesini TechnicalProfile dosyasına ekleyin:

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <TechnicalProfile Id="PolicyProfile">
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="idp_refresh_token"/>
        </OutputClaims>
        ...
      </TechnicalProfile>
    </RelyingParty>
    
  6. İlkenizin bağlı olan taraf ilke dosyasında yaptığınız değişiklikleri kaydedin.

  7. TrustframeworkExtensions.xml dosyasını ve ardından bağlı olan taraf ilke dosyasını karşıya yükleyin.

  8. İlkenizi test edin

Sonraki adımlar

Azure AD B2C belirteçlerine genel bakış bölümünde daha fazla bilgi edinin.