Azure AD B2C özel ilkesinde Microsoft Entra ID çok faktörlü kimlik doğrulaması teknik profili tanımlama

Azure Active Directory B2C (Azure AD B2C), doğrulama kodu kullanarak telefon numarasını doğrulama veya Zaman Tabanlı Tek Seferlik Parola (TOTP) kodunu doğrulama desteği sağlar.

Protokol

Protocol öğesinin Name özniteliği olarak ayarlanmalıdırProprietary. İşleyici özniteliği, Azure AD B2C tarafından kullanılan protokol işleyicisi derlemesinin tam adını içermelidir:

Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

Aşağıdaki örnekte Microsoft Entra ID çok faktörlü kimlik doğrulaması teknik profili gösterilmektedir:

<TechnicalProfile Id="AzureMfa-SendSms">
    <DisplayName>Send Sms</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    ...

Telefon modunu doğrulama

Telefon doğrulama modunda teknik profil bir telefon numarası oluşturup bir kod gönderir ve ardından kodu doğrular. Microsoft Entra ID çok faktörlü kimlik doğrulaması teknik profili de bir hata iletisi döndürebilir. 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 kendine onaylanan bir sayfada bir hata iletisi görüntülenir. Teknik profil:

Teknik profil, doğrulama kodunu SMS kısa mesajıyla göndermek ve kodu doğrulamak için yöntemler sağlar. Aşağıdaki ekran görüntüsünde telefon doğrulayıcı akışı gösterilmektedir.

Screenshot showing TOTP flow

SMS gönder

Bir telefonu doğrulamak için, ilk adım bir kod oluşturur ve telefon numarasına gönderir. Bu adım için aşağıdaki seçenekler yapılandırılabilir.

Giriş talepleri

InputClaims öğesi, Microsoft Entra çok faktörlü kimlik doğrulamasına gönderilecek taleplerin listesini içerir. Ayrıca talebinizin adını MFA teknik profilinde tanımlanan adla eşleyebilirsiniz.

ClaimReferenceId Zorunlu Veri Akışı Açıklaması
userPrincipalName Evet Telefon numarasına sahip olan kullanıcının tanımlayıcısı.
phoneNumber Evet SMS kodu gönderilecek telefon numarası.
companyName Hayır SMS'deki şirket adı. Sağlanmazsa, uygulamanızın adı kullanılır.
locale Hayır SMS'nin yerel ayarı. Sağlanmazsa, kullanıcının tarayıcı yerel ayarı kullanılır.

Çıkış talepleri

Microsoft Entra çok faktörlü kimlik doğrulama protokolü sağlayıcısı herhangi bir çıkış talebi döndürmez, bu nedenle çıkış taleplerini belirtmenize gerek yoktur.

Meta veri

Metadata öğesi aşağıdaki özniteliği içerir.

Öznitelik Zorunlu Veri Akışı Açıklaması
Operation Evet olmalıdır OneWaySMS.
Kullanıcı arabirimi öğeleri

SMS hatası gönderildiğinde görüntülenen hata iletilerini yapılandırmak için aşağıdaki meta veriler kullanılabilir. Meta veriler kendi kendine onaylanan teknik profilde yapılandırılmalıdır. Hata iletileri yerelleştirilebilir.

Öznitelik Zorunlu Tanım
UserMessageIfCouldntSendSms Hayır Sağlanan telefon numarası SMS kabul etmiyorsa kullanıcı hata iletisi.
UserMessageIfInvalidFormat Hayır Sağlanan telefon numarası geçerli bir telefon numarası değilse kullanıcı hata iletisi.
UserMessageIfServerError Hayır Sunucu bir iç hatayla karşılaştıysa kullanıcı hata iletisi.
UserMessageIfThrottled Hayır İstek kısıtlandıysa kullanıcı hata iletisi.

Örnek: SMS gönderme

Aşağıdaki örnekte, SMS ile kod göndermek için kullanılan çok faktörlü Microsoft Entra ID kimlik doğrulaması teknik profili gösterilmektedir.

<TechnicalProfile Id="AzureMfa-SendSms">
  <DisplayName>Send Sms</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">OneWaySMS</Item>
  </Metadata>
  <InputClaimsTransformations>
    <InputClaimsTransformation ReferenceId="CombinePhoneAndCountryCode" />
    <InputClaimsTransformation ReferenceId="ConvertStringToPhoneNumber" />
  </InputClaimsTransformations>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
    <InputClaim ClaimTypeReferenceId="fullPhoneNumber" PartnerClaimType="phoneNumber" />
  </InputClaims>
</TechnicalProfile>

Kodu doğrula

Kodu doğrulama adımı, kullanıcıya gönderilen bir kodu doğrular. Bu adım için aşağıdaki seçenekler yapılandırılabilir.

Giriş talepleri

InputClaims öğesi, Microsoft Entra çok faktörlü kimlik doğrulamasına gönderilecek taleplerin listesini içerir. Ayrıca talebinizin adını MFA teknik profilinde tanımlanan adla eşleyebilirsiniz.

ClaimReferenceId Zorunlu Veri Akışı Açıklaması
phoneNumber Evet Daha önce kod göndermek için kullanılan telefon numarası. Ayrıca telefon doğrulama oturumlarını bulmak için de kullanılır.
verificationCode Evet Doğrulanması için kullanıcı tarafından sağlanan doğrulama kodu

Çıkış talepleri

Microsoft Entra çok faktörlü kimlik doğrulama protokolü sağlayıcısı herhangi bir çıkış talebi döndürmez, bu nedenle çıkış taleplerini belirtmenize gerek yoktur.

Meta veri

Metadata öğesi aşağıdaki özniteliği içerir.

Öznitelik Zorunlu Veri Akışı Açıklaması
Operation Evet olmalıdır Verify.
Kullanıcı arabirimi öğeleri

Aşağıdaki meta veriler, kod doğrulama hatasından sonra görüntülenen hata iletilerini yapılandırmak için kullanılabilir. Meta veriler kendi kendine onaylanan teknik profilde yapılandırılmalıdır. Hata iletileri yerelleştirilebilir.

Öznitelik Zorunlu Tanım
UserMessageIfMaxAllowedCodeRetryReached Hayır Kullanıcı çok fazla doğrulama kodu denediyse kullanıcı hata iletisi.
UserMessageIfServerError Hayır Sunucu bir iç hatayla karşılaştıysa kullanıcı hata iletisi.
UserMessageIfThrottled Hayır İstek kısıtlanırsa kullanıcı hata iletisi.
UserMessageIfWrongCodeEntered Hayır Doğrulama için girilen kod yanlışsa kullanıcı hata iletisi.

Örnek: Kodu doğrulama

Aşağıdaki örnekte, kodu doğrulamak için kullanılan çok faktörlü Microsoft Entra ID kimlik doğrulaması teknik profili gösterilmektedir.

<TechnicalProfile Id="AzureMfa-VerifySms">
    <DisplayName>Verify Sms</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <Metadata>
        <Item Key="Operation">Verify</Item>
    </Metadata>
    <InputClaims>
        <InputClaim ClaimTypeReferenceId="phoneNumber" PartnerClaimType="phoneNumber" />
        <InputClaim ClaimTypeReferenceId="verificationCode" />
    </InputClaims>
</TechnicalProfile>

TOTP modu

Bu modda, kullanıcının sahip olduğu bir cihaza Microsoft Authenticator uygulaması gibi zaman tabanlı tek seferlik parola (TOTP) doğrulamasını destekleyen herhangi bir kimlik doğrulayıcı uygulaması yüklemesi gerekir.

İlk kaydolma veya oturum açma sırasında kullanıcı bir QR kodunu tarar, derin bir bağlantı açar veya kimlik doğrulayıcı uygulamasını kullanarak kodu el ile girer. TOTP kodunu doğrulamak için OTPdoğrulamaya başla ve ardından TOTP doğrulama teknik profillerini doğrula'yı kullanın.

Sonraki oturum açma işlemleri için, Kullanıcının cihazını zaten kaydedip kaydetmediğini denetlemek için Kullanılabilir cihazları al yöntemini kullanın. Kullanılabilir cihazların sayısı sıfırdan büyükse, bu kullanıcının daha önce kaydoldu olduğunu gösterir. Bu durumda, kullanıcının kimlik doğrulayıcı uygulamasında görünen TOTP kodunu yazması gerekir.

Teknik profil:

  • Kullanıcıyla etkileşime geçmek için bir arabirim sağlamaz. Bunun yerine, kullanıcı arabirimi, TOTP görüntü denetimleriyle, kendi kendine onaylanan bir teknik profilden çağrılır.
  • TOTP kodunu doğrulamak için Microsoft Entra çok faktörlü kimlik doğrulama hizmetini kullanır.
  • Kullanıcının cihazını zaten kaydedip kaydetmediğini denetler.

Aşağıdaki ekran görüntüsünde TOTP kaydı ve doğrulama akışı gösterilmektedir. Kullanılabilir cihaz sayısını denetleyerek başlar. Kullanılabilir cihaz sayısı sıfırsa, kullanıcı kayıt düzenleme adımından geçer. Aksi takdirde kullanıcı doğrulama düzenleme adımından geçer.

Screenshot showing TOTP flow.

Kullanılabilir cihazları edinin

Kullanılabilir cihaz modu, kullanıcı için kullanılabilir cihaz sayısını denetler. Kullanılabilir cihaz sayısı sıfırsa bu, kullanıcının henüz kaydolmamış olduğunu gösterir.

Giriş talepleri

InputClaims öğesi, Microsoft Entra çok faktörlü kimlik doğrulamasına gönderilecek taleplerin listesini içerir. Ayrıca talebinizin adını MFA teknik profilinde tanımlanan adla eşleyebilirsiniz.

ClaimReferenceId Zorunlu Veri Akışı Açıklaması
userPrincipalName Evet Kullanıcı asıl adı.

Çıkış talepleri

Çıkış talepleri öğesi, Microsoft Entra çok faktörlü kimlik doğrulamasından döndürülecek taleplerin listesini içerir. Ayrıca talebinizin adını MFA teknik profilinde tanımlanan adla eşleyebilirsiniz.

ClaimReferenceId Zorunlu Veri Akışı Açıklaması
numberOfAvailableDevices Evet Kullanıcı için kullanılabilir cihaz sayısı.

Meta veri

Metadata öğesi aşağıdaki özniteliği içerir.

Öznitelik Zorunlu Veri Akışı Açıklaması
Operation Evet olmalıdır GetAvailableDevices.

Örnek: Kullanılabilir cihazları alma

Aşağıdaki örnekte, kullanılabilir cihaz sayısını almak için kullanılan çok faktörlü Microsoft Entra ID kimlik doğrulaması teknik profili gösterilmektedir.

<TechnicalProfile Id="AzureMfa-GetAvailableDevices">
  <DisplayName>Get Available Devices</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">GetAvailableDevices</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="numberOfAvailableDevices" />
  </OutputClaims>
</TechnicalProfile>

TOTP'yi doğrulamaya başlama

Doğrulamayı başlat TOTP doğrulama işlemini başlatır. Bu doğrulama teknik profili, TOTP kodlarını sunan ve doğrulayan kendi kendine onaylanan teknik profilden çağrılır. Bu doğrulama teknik profilinin ardından TOTP doğrulama teknik profillerini doğrulama çağrısı yapılmalıdır.

Giriş talepleri

InputClaims öğesi, Microsoft Entra çok faktörlü kimlik doğrulamasına gönderilecek taleplerin listesini içerir. Ayrıca talebinizin adını MFA teknik profilinde tanımlanan adla eşleyebilirsiniz.

ClaimReferenceId Zorunlu Veri Akışı Açıklaması
userPrincipalName Evet Kullanıcı asıl adı.
objectId Evet Kullanıcı nesne kimliği.
secretKey Evet Kullanıcının gizli anahtarı. Bu anahtar, Azure AD B2C dizinindeki kullanıcının profilinde depolanır ve kimlik doğrulayıcı uygulamasıyla paylaşılır. Kimlik doğrulayıcı uygulaması, TOTP kodunu oluşturmak için gizli diziyi kullanır. Bu teknik profil, TOTP kodunu doğrulamak için gizli diziyi kullanır.

Çıkış talepleri

Microsoft Entra çok faktörlü kimlik doğrulama protokolü sağlayıcısı herhangi bir çıkış talebi döndürmez, bu nedenle çıkış taleplerini belirtmenize gerek yoktur.

Meta veri

Metadata öğesi aşağıdaki özniteliği içerir.

Öznitelik Zorunlu Veri Akışı Açıklaması
Operation Evet olmalıdır BeginVerifyOTP.

Örnek: TOTP'yi doğrulamaya başlama

Aşağıdaki örnekte, TOTP doğrulama işlemini başlatmak için kullanılan bir Microsoft Entra ID çok faktörlü kimlik doğrulaması teknik profili gösterilmektedir.

<TechnicalProfile Id="AzureMfa-BeginVerifyOTP">
  <DisplayName>Begin verify TOTP"</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">BeginVerifyOTP</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="secretKey" />
    <InputClaim ClaimTypeReferenceId="objectId" />
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
  </InputClaims>
</TechnicalProfile>

TOTP'yi doğrulama

TOTP doğrulama yöntemi bir TOTP kodunu doğrular. Bu doğrulama teknik profili, TOTP kodlarını sunan ve doğrulayan kendi kendine onaylanan teknik profilden çağrılır. Bu doğrulama teknik profilinden önce TOTP doğrulama teknik profillerini doğrulamaya başla çağrısı yapılmalıdır.

Giriş talepleri

InputClaims öğesi, Microsoft Entra çok faktörlü kimlik doğrulamasına gönderilecek taleplerin listesini içerir. Ayrıca talebinizin adını MFA teknik profilinde tanımlanan adla eşleyebilirsiniz.

ClaimReferenceId Zorunlu Veri Akışı Açıklaması
otpCode Evet Kullanıcı tarafından sağlanan TOTP kodu.

Çıkış talepleri

Microsoft Entra çok faktörlü kimlik doğrulama protokolü sağlayıcısı herhangi bir çıkış talebi döndürmez, bu nedenle çıkış taleplerini belirtmenize gerek yoktur.

Meta veri

Metadata öğesi aşağıdaki özniteliği içerir.

Öznitelik Zorunlu Veri Akışı Açıklaması
Operation Evet olmalıdır VerifyOTP.

Örnek: TOTP'yi doğrulama

Aşağıdaki örnekte, bir TOTP kodunu doğrulamak için kullanılan çok faktörlü Microsoft Entra Id kimlik doğrulaması teknik profili gösterilmektedir.

<TechnicalProfile Id="AzureMfa-VerifyOTP">
  <DisplayName>Verify OTP</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">VerifyOTP</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otpCode" />
  </InputClaims>
</TechnicalProfile>

Sonraki adımlar