Azure Active Directory B2C'de belirteçleri yapılandırma

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.

Bu makalede, Azure Active Directory B2C'de (Azure AD B2C) bir belirtecin ömrünü ve uyumluluğunu yapılandırmayı öğreneceksiniz.

Önkoşullar

Belirteç ömrü davranışı

Belirteç ömrünü yapılandırabilirsiniz, örneğin:

  • Erişim ve kimlik belirteci yaşam süreleri (dakika) - OAuth 2.0 taşıyıcı belirtecinin ve kimlik belirteçlerinin ömrü. Varsayılan değer 60 dakikadır (1 saat). Minimum (dahil) 5 dakikadır. Maksimum (dahil) 1.440 dakikadır (24 saat).
  • Yenileme belirteci ömrü (gün) - Uygulamanıza kapsam verilmişse offline_access , yenileme belirtecinin yeni erişim belirteci almak için kullanılabilmesi için en uzun süre. Varsayılan değer 14 gündür. Minimum (dahil) bir gündür. En fazla (dahil) 90 gün.
  • Yenileme belirteci kayan pencere ömrü - Yenileme belirteci kayan pencere türü. Boundedyenileme belirtecinin Yaşam süresi (gün) içinde belirtildiği gibi uzatılabildiğini gösterir. No expiry yenileme belirtecinin kayan pencere ömrünün hiçbir zaman dolmadığını gösterir.
  • Yaşam süresi (gün) - Bu süre geçtikten sonra kullanıcı, uygulama tarafından alınan en son yenileme belirtecinin geçerlilik süresinden bağımsız olarak yeniden kimlik doğrulaması yapmaya zorlanır. Değer, Yenileme belirteci yaşam süresi değerinden büyük veya buna eşit olmalıdır.

Aşağıdaki diyagramda yenileme belirteci kayan pencere ömrü davranışı gösterilmektedir.

Refresh token lifetime

Dekont

PKCE ile yetkilendirme kodu akışını kullanan tek sayfalı uygulamalar her zaman 24 saatlik yenileme belirteci ömrüne sahiptir, ancak mobil uygulamalar, masaüstü uygulamaları ve web uygulamaları bu sınırlamayla karşılaşmaz. Tarayıcıda yenileme belirteçlerinin güvenlik üzerindeki etkileri hakkında daha fazla bilgi edinin.

Belirteç ömrünü yapılandırma

Kullanıcı akışı belirteci ömrünüzü yapılandırmak için:

  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. Kullanıcı akışları (ilkeler) öğesini seçin.
  5. Daha önce oluşturduğunuz kullanıcı akışını açın.
  6. Özellikleri'i seçin.
  7. Belirteç ömrü altında, özellikleri uygulamanızın gereksinimlerine uyacak şekilde ayarlayın.
  8. Kaydet'i seçin.

configure user flows tokens in Azure portal.

Belirteç uyumluluğunuzun ayarlarını değiştirmek için uzantıda Belirteç Veren teknik profil meta verilerini veya etkilemek istediğiniz ilkenin bağlı olan taraf dosyasını ayarlarsınız. Belirteç veren teknik profili aşağıdaki örneğe benzer:

<ClaimsProviders>
  <ClaimsProvider>
    <DisplayName>Token Issuer</DisplayName>
    <TechnicalProfiles>
      <TechnicalProfile Id="JwtIssuer">
        <Metadata>
          <Item Key="token_lifetime_secs">3600</Item>
          <Item Key="id_token_lifetime_secs">3600</Item>
          <Item Key="refresh_token_lifetime_secs">1209600</Item>
          <Item Key="rolling_refresh_token_lifetime_secs">7776000</Item>
          <!--<Item Key="allow_infinite_rolling_refresh_token">true</Item>-->
          <Item Key="IssuanceClaimPattern">AuthorityAndTenantGuid</Item>
          <Item Key="AuthenticationContextReferenceClaimPattern">None</Item>
        </Metadata>
      </TechnicalProfile>
    </TechnicalProfiles>
  </ClaimsProvider>
</ClaimsProviders>

Önceki örnekte aşağıdaki değerler ayarlanmıştır:

  • token_lifetime_secs - Erişim belirteci yaşam süreleri (saniye). Varsayılan değer 3.600'dür (1 saat). En az 300 (5 dakika). Maksimum değer 86.400 'dir (24 saat).
  • id_token_lifetime_secs - Kimlik belirteci yaşam süreleri (saniye). Varsayılan değer 3.600'dür (1 saat). En az 300 (5 dakika). Maksimum değer 86.400 'dir (24 saat).
  • refresh_token_lifetime_secs Yenileme belirteci yaşam süreleri (saniye). Varsayılan değer 1.209.600'dür (14 gün). En az 86.400 (24 saat). Maksimum değer 7.776.000 'dir (90 gün).
  • rolling_refresh_token_lifetime_secs - Belirteç kayan pencere ömrünü (saniye) yenileyin. Varsayılan değer 7.776.000'dir (90 gün). En az 86.400 (24 saat). Maksimum değer 31.536.000 'dir (365 gün). Kayan pencere ömrünü zorlamak istemiyorsanız değerini allow_infinite_rolling_refresh_token olarak trueayarlayın.
  • allow_infinite_rolling_refresh_token - Yenileme belirteci kayan pencere ömrü hiçbir zaman dolmaz.

Belirteç uyumluluk ayarları

Belirteç uyumluluğunu yapılandırabilirsiniz, örneğin:

  • Veren (iss) talebi - Erişim ve kimlik belirteci veren biçimi.
  • Konu (alt) talebi - Belirtecin bir uygulamanın kullanıcısı gibi bilgileri onayladığı sorumlu. Bu değer sabittir ve yeniden atanamaz veya yeniden kullanılamaz. Belirteç bir kaynağa erişmek için kullanıldığında olduğu gibi, yetkilendirme denetimlerini güvenli bir şekilde gerçekleştirmek için kullanılabilir. Varsayılan olarak, konu talebi dizindeki kullanıcının nesne kimliğiyle doldurulur.
  • Kullanıcı akışını temsil eden talep - Bu talep yürütülen kullanıcı akışını tanımlar. Olası değerler: tfp (varsayılan) veya acr.

Kullanıcı akışı uyumluluk ayarlarınızı yapılandırmak için:

  1. Kullanıcı akışları (ilkeler) öğesini seçin.
  2. Daha önce oluşturduğunuz kullanıcı akışını açın.
  3. Özellikleri'i seçin.
  4. Belirteç uyumluluk ayarları'nın altında, özellikleri uygulamanızın gereksinimlerine uyacak şekilde ayarlayın.
  5. Kaydet'i seçin.

Belirteç uyumluluğunuzun ayarlarını değiştirmek için uzantıdaki Belirteç Veren teknik profil meta verilerini veya güncelleştirmek istediğiniz ilkenin bağlı olan taraf dosyasını ayarlarsınız. Belirteç veren teknik profili aşağıdaki örneğe benzer:

<ClaimsProviders>
  <ClaimsProvider>
    <DisplayName>Token Issuer</DisplayName>
    <TechnicalProfiles>
      <TechnicalProfile Id="JwtIssuer">
        <Metadata>
          ...
          <Item Key="IssuanceClaimPattern">AuthorityAndTenantGuid</Item>
          <Item Key="AuthenticationContextReferenceClaimPattern">None</Item>
        </Metadata>
      </TechnicalProfile>
    </TechnicalProfiles>
  </ClaimsProvider>
</ClaimsProviders>
  • Veren (iss) talebi - Veren (iss) talebi, IssuanceClaimPattern meta veri öğesiyle ayarlanır. Geçerli değerler ve AuthorityWithTfpşeklindedirAuthorityAndTenantGuid.

  • İlke kimliğini temsil eden talebi ayarlama - Bu değeri TFP ayarlama seçenekleri (güven çerçevesi ilkesi) ve ACR (kimlik doğrulama bağlamı başvurusu). TFP önerilen değerdir. AuthenticationContextReferenceClaimPattern değerini Nonedeğerine ayarlayın.

    ClaimsSchema öğesine şu öğeyi ekleyin:

    <ClaimType Id="trustFrameworkPolicy">
      <DisplayName>Trust framework policy name</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    

    Bağlı olan taraf ilkenizde OutputClaims öğesinin altına aşağıdaki çıkış beyanını ekleyin:

    <OutputClaim ClaimTypeReferenceId="trustFrameworkPolicy" Required="true" DefaultValue="{policy}" PartnerClaimType="tfp" />
    

    ACR için AuthenticationContextReferenceClaimPattern öğesini kaldırın.

  • Konu (alt) talebi - Bu ayarı Not Supportedolarak değiştirmek isterseniz, bu seçenek varsayılan olarak ObjectID olarak ayarlanır. Bu satırı değiştirin:

    <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
    

    bu satırla değiştirin:

    <OutputClaim ClaimTypeReferenceId="sub" />
    

Uygulamanıza isteğe bağlı talepler sağlayın

Uygulama talepleri, uygulamaya döndürülen değerlerdir. Kullanıcı akışınızı istenen talepleri içerecek şekilde güncelleştirin.

  1. Kullanıcı akışları (ilkeler) öğesini seçin.
  2. Daha önce oluşturduğunuz kullanıcı akışını açın.
  3. Uygulama talepleri’ni seçin.
  4. Uygulamanıza geri göndermek istediğiniz talepleri ve öznitelikleri seçin.
  5. Kaydet'i seçin.

Bağlı olan taraf ilkesi teknik profil çıkış talepleri, bir uygulamaya döndürülen değerlerdir. Çıkış talepleri eklemek, başarılı bir kullanıcı yolculuğundan sonra talepleri belirteci verir ve uygulamaya gönderilir. İstenen talepleri çıkış talebi olarak eklemek için bağlı olan taraf bölümündeki teknik profil öğesini değiştirin.

  1. Özel ilke dosyanızı açın. Örneğin, SignUpOrSignin.xml.
  2. OutputClaims öğesini bulun. Belirtecin eklenmesini istediğiniz OutputClaim öğesini ekleyin.
  3. Çıkış talebi özniteliklerini ayarlayın.

Aşağıdaki örnek, talebi ekler accountBalance . accountBalance talebi, uygulamaya bakiye olarak gönderilir.

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
  <TechnicalProfile Id="PolicyProfile">
    <DisplayName>PolicyProfile</DisplayName>
    <Protocol Name="OpenIdConnect" />
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="displayName" />
      <OutputClaim ClaimTypeReferenceId="givenName" />
      <OutputClaim ClaimTypeReferenceId="surname" />
      <OutputClaim ClaimTypeReferenceId="email" />
      <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
      <OutputClaim ClaimTypeReferenceId="identityProvider" />
      <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
      <!--Add the optional claims here-->
      <OutputClaim ClaimTypeReferenceId="accountBalance" DefaultValue="" PartnerClaimType="balance" />
    </OutputClaims>
    <SubjectNamingInfo ClaimType="sub" />
  </TechnicalProfile>
</RelyingParty>

OutputClaim öğesi aşağıdaki öznitelikleri içerir:

  • ClaimTypeReferenceId - İlke dosyasının veya üst ilke dosyasının ClaimsSchema bölümünde zaten tanımlanmış bir talep türünün tanımlayıcısı.
  • PartnerClaimType - Belirteçteki talebin adını değiştirmenize olanak tanır.
  • DefaultValue - Varsayılan değer. Varsayılan değeri kiracı kimliği gibi bir talep çözümleyicisine de ayarlayabilirsiniz.
  • AlwaysUseDefaultValue - Varsayılan değerin kullanılmasını zorunlu hale getirme.

Yetkilendirme kodu ömrü

Uygulama, OAuth 2.0 yetkilendirme kodu akışını kullanırken, bir hedef kaynak için erişim belirteci istemek üzere yetkilendirme kodunu kullanabilir. Yetkilendirme kodları, yaklaşık 10 dakika sonra süresi dolan kısa sürelidir. Yetkilendirme kodu ömrü yapılandırılamaz. Uygulamanızın yetkilendirme kodlarını 10 dakika içinde kullandığınızdan emin olun.

Sonraki adımlar