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

  • Azure Active Directory B2C'de özel e-posta doğrulaması (Mailjet, SendGrid)