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
- Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümündeki adımları tamamlayın
- Bir web uygulaması kaydedin.
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ü.
Bounded
yenileme 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.
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:
- Azure Portal oturum açın.
- 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.
- 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.
- Kullanıcı akışları (ilkeler) öğesini seçin.
- Daha önce oluşturduğunuz kullanıcı akışını açın.
- Özellikleri'i seçin.
- Belirteç ömrü altında, özellikleri uygulamanızın gereksinimlerine uyacak şekilde ayarlayın.
- Kaydet'i seçin.
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
olaraktrue
ayarlayı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) veyaacr
.
Kullanıcı akışı uyumluluk ayarlarınızı yapılandırmak için:
- Kullanıcı akışları (ilkeler) öğesini seçin.
- Daha önce oluşturduğunuz kullanıcı akışını açın.
- Özellikleri'i seçin.
- Belirteç uyumluluk ayarları'nın altında, özellikleri uygulamanızın gereksinimlerine uyacak şekilde ayarlayın.
- 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) veACR
(kimlik doğrulama bağlamı başvurusu).TFP
önerilen değerdir. AuthenticationContextReferenceClaimPattern değeriniNone
değ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 Supported
olarak 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.
- Kullanıcı akışları (ilkeler) öğesini seçin.
- Daha önce oluşturduğunuz kullanıcı akışını açın.
- Uygulama talepleri’ni seçin.
- Uygulamanıza geri göndermek istediğiniz talepleri ve öznitelikleri seçin.
- 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.
- Özel ilke dosyanızı açın. Örneğin, SignUpOrSignin.xml.
- OutputClaims öğesini bulun. Belirtecin eklenmesini istediğiniz OutputClaim öğesini ekleyin.
- Çı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
- Erişim belirteçleri isteme hakkında daha fazla bilgi edinin.
- Geliştirici en iyi yöntemleri aracılığıyla Dayanıklılık oluşturmayı öğrenin.