Azure AD B2C özel ilkesinde tek seferlik parola teknik profili tanımlama
Not
Azure Active Directory B2C'de özel ilkeler öncelikli olarak karmaşık senaryoları ele almak için tasarlanmıştır. Çoğu senaryoda, yerleşik kullanıcı akışlarını kullanmanızı öneririz. Bunu yapmadıysanız, Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümünde özel ilke başlangıç paketi hakkında bilgi edinin.
Azure Active Directory B2C (Azure AD B2C), tek seferlik parola oluşturma ve doğrulama yönetimi için destek sağlar. Kod oluşturmak için teknik bir profil kullanın ve daha sonra bu kodu doğrulayın.
Tek seferlik parola teknik profili, kod doğrulaması sırasında bir hata iletisi de döndürebilir. Doğrulama teknik profilini kullanarak tek seferlik parolayla tümleştirmeyi tasarlayın. Doğrulama teknik profili, bir kodu doğrulamak için tek seferlik parola teknik profilini çağırır. Doğrulama teknik profili, kullanıcı yolculuğu devam etmeden önce kullanıcı tarafından sağlanan verileri doğrular. Doğrulama teknik profiliyle, kendi kendini onaylanan bir sayfada bir hata iletisi görüntülenir.
Protokol
Protocol öğesinin Name özniteliği olarak ayarlanmalıdırProprietary
. İşleyici özniteliği, Azure AD B2C tarafından kullanılan protokol işleyici derlemesinin tam adını içermelidir:
Web.TPEngine.Providers.OneTimePasswordProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Aşağıdaki örnekte tek seferlik parola teknik profili gösterilmektedir:
<TechnicalProfile Id="VerifyCode">
<DisplayName>Validate user input verification code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.OneTimePasswordProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
...
Kod oluşturma
Bu teknik profilin ilk modu bir kod oluşturmaktır. Bu mod için yapılandırılabilir seçenekler aşağıdadır. Oluşturulan kodlar ve denemeler oturum içinde izlenir.
Giriş talepleri
InputClaims öğesi, tek seferlik parola protokolü sağlayıcısına göndermek için gereken taleplerin listesini içerir. Ayrıca talebinizin adını aşağıda tanımlanan adla eşleyebilirsiniz.
ClaimReferenceId | Gerekli | Açıklama |
---|---|---|
tanımlayıcı | Yes | Kodu daha sonra doğrulaması gereken kullanıcıyı tanımlayan tanımlayıcı. Genellikle kodun teslim edildiği hedefin tanımlayıcısı olarak kullanılır, örneğin e-posta adresi veya telefon numarası. |
InputClaimsTransformations öğesi, giriş taleplerini değiştirmek veya tek seferlik parola protokolü sağlayıcısına göndermeden önce yenilerini oluşturmak için kullanılan Bir InputClaimsTransformation öğeleri koleksiyonu içerebilir.
Çıkış talepleri
OutputClaims öğesi, tek seferlik parola protokolü sağlayıcısı tarafından oluşturulan taleplerin listesini içerir. Ayrıca talebinizin adını aşağıda tanımlanan adla eşleyebilirsiniz.
ClaimReferenceId | Gerekli | Açıklama |
---|---|---|
otpGenerated | Yes | Oturumu Azure AD B2C tarafından yönetilen oluşturulan kod. |
OutputClaimsTransformations öğesi, çıkış taleplerini değiştirmek veya yenilerini oluşturmak için kullanılan outputClaimsTransformation öğelerinin bir koleksiyonunu içerebilir.
Meta veri
Kod oluşturma modunu yapılandırmak için aşağıdaki ayarlar kullanılabilir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
İşlem | Yes | Gerçekleştirilecek işlem. Olası değer: GenerateCode . |
CodeExpirationInSeconds | No | Kodun süresi dolana kadar saniye olarak geçen süre. Minimum: 60 ; Maksimum: 1200 ; Varsayılan: 600 . Bir kod her sağlandığında (kullanarak aynı kod ReuseSameCode veya yeni bir kod), kodun süre sonu uzatılır. Bu süre, yeniden deneme zaman aşımını ayarlamak için de kullanılır (maksimum deneme sayısına ulaşıldıktan sonra, kullanıcı bu süre dolana kadar yeni kod alma girişimine karşı kilitlenir) |
CodeLength | No | Kodun uzunluğu. 6 varsayılan değerdir. |
Characterset | No | Normal ifadede kullanılmak üzere biçimlendirilmiş kod için karakter kümesi. Örneğin, a-z0-9A-Z . 0-9 varsayılan değerdir. Karakter kümesi, belirtilen kümede en az 10 farklı karakter içermelidir. |
NumRetryAttempts | No | Koddan önceki doğrulama denemelerinin sayısı geçersiz kabul edilir. 5 varsayılan değerdir. Örneğin, NumRetryAttempts değerini 2 olarak ayarlarsanız, toplamda yalnızca 2 deneme yapmanızı sağlar (ilk + 1 yeniden deneme). 3. deneme için kodun doğru olup olmamasına bakılmaksızın ulaşılan en fazla denemeyi oluşturur. |
NumCodeGenerationAttempts | No | Tanımlayıcı başına en fazla kod oluşturma denemesi sayısı. Varsayılan değer belirtilmezse olur 10 . |
ReuseSameCode | No | Verilen kodun süresi dolmadığında ve hala geçerli olduğunda yeni kod oluşturmak yerine aynı kodun verilip verilmeyeceği. false varsayılan değerdir. |
Örnek
Aşağıdaki örnek TechnicalProfile
kod oluşturmak için kullanılır:
<TechnicalProfile Id="GenerateCode">
<DisplayName>Generate Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.OneTimePasswordProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">GenerateCode</Item>
<Item Key="CodeExpirationInSeconds">600</Item>
<Item Key="CodeLength">6</Item>
<Item Key="CharacterSet">0-9</Item>
<Item Key="NumRetryAttempts">5</Item>
<Item Key="NumCodeGenerationAttempts">10</Item>
<Item Key="ReuseSameCode">false</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="identifier" PartnerClaimType="identifier" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="otpGenerated" PartnerClaimType="otpGenerated" />
</OutputClaims>
</TechnicalProfile>
Kodu doğrula
Bu teknik profilin ikinci modu bir kodu doğrulamaktır. Bu mod için yapılandırılabilir seçenekler aşağıdadır.
Giriş talepleri
InputClaims öğesi, tek seferlik parola protokolü sağlayıcısına göndermek için gereken taleplerin listesini içerir. Ayrıca talebinizin adını aşağıda tanımlanan adla eşleyebilirsiniz.
ClaimReferenceId | Gerekli | Açıklama |
---|---|---|
tanımlayıcı | Yes | Daha önce kod oluşturan kullanıcıyı tanımlayan tanımlayıcı. Genellikle kodun teslim edildiği hedefin tanımlayıcısı olarak kullanılır, örneğin e-posta adresi veya telefon numarası. |
otpToVerify | Yes | Kullanıcı tarafından sağlanan doğrulama kodu. |
InputClaimsTransformations öğesi, tek seferlik parola protokolü sağlayıcısına göndermeden önce giriş taleplerini değiştirmek veya yenilerini oluşturmak için kullanılan bir InputClaimsTransformation öğeleri koleksiyonu içerebilir.
Çıkış talepleri
Bu protokol sağlayıcısının kod doğrulaması sırasında hiçbir çıkış talebi sağlanmadı.
OutputClaimsTransformations öğesi, çıkış taleplerini değiştirmek veya yenilerini oluşturmak için kullanılan OutputClaimsTransformation öğelerinin bir koleksiyonunu içerebilir.
Meta veri
Doğrulama modunu kodlarken aşağıdaki ayarlar kullanılabilir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
İşlem | Yes | Gerçekleştirilecek işlem. Olası değer: VerifyCode . |
Kullanıcı arabirimi öğeleri
Aşağıdaki meta veriler, kod doğrulama hatasının ardından görüntülenen hata iletilerini yapılandırmak için kullanılabilir. Meta veriler kendi kendini onaylanan teknik profilde yapılandırılmalıdır. Hata iletileri yerelleştirilebilir.
Öznitelik | Gerekli | Açıklama |
---|---|---|
UserMessageIfSessionDoesNotExist | No | Kod doğrulama oturumunun süresi dolduysa kullanıcıya görüntülenecek ileti. Kodun süresi dolmuş veya kodun hiçbir zaman belirli bir tanımlayıcı için oluşturulmamış olmasıdır. |
UserMessageIfMaxRetryAttempted | No | İzin verilen en yüksek doğrulama denemelerini aştıysa kullanıcıya görüntülenecek ileti. |
UserMessageIfMaxNumberOfCodeGenerated | No | Kod oluşturma izin verilen en fazla deneme sayısını aştıysa kullanıcıya görüntülenecek ileti. |
UserMessageIfInvalidCode | No | Kullanıcıya geçersiz bir kod sağladıysa görüntülenecek ileti. |
UserMessageIfVerificationFailedRetryAllowed | No | Kullanıcıya geçersiz bir kod sağladıysa ve kullanıcının doğru kodu sağlamasına izin veriliyorsa görüntülenecek ileti. |
UserMessageIfSessionConflict | No | Kod doğrulanamazsa kullanıcıya görüntülenecek ileti. |
Örnek
Aşağıdaki örnek TechnicalProfile
bir kodu doğrulamak için kullanılır:
<TechnicalProfile Id="VerifyCode">
<DisplayName>Verify Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.OneTimePasswordProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">VerifyCode</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="identifier" PartnerClaimType="identifier" />
<InputClaim ClaimTypeReferenceId="otpGenerated" PartnerClaimType="otpToVerify" />
</InputClaims>
</TechnicalProfile>
Sonraki adımlar
Özel e-posta doğrulaması ile tek seferlik parola teknik profili kullanma örneği için aşağıdaki makaleye bakın: