Definování technického profilu vícefaktorového ověřování Microsoft Entra ID ve vlastních zásadách Azure AD B2C

Azure Active Directory B2C (Azure AD B2C) poskytuje podporu pro ověření telefonního čísla pomocí ověřovacího kódu nebo ověření jednorázového hesla (TOTP).

Protokol

Atribut Name elementu Protocol musí být nastaven na Proprietary. Atribut obslužné rutiny musí obsahovat plně kvalifikovaný název sestavení obslužné rutiny protokolu, které používá Azure AD B2C:

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

Následující příklad ukazuje technický profil vícefaktorového ověřování Microsoft Entra ID:

<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" />
    ...

Ověření telefonního režimu

V režimu ověření telefonu vygeneruje a odešle kód na telefonní číslo a pak kód ověří. Technický profil vícefaktorového ověřování Microsoft Entra ID může také vrátit chybovou zprávu. Technický profil ověření ověří data poskytnutá uživatelem před pokračováním cesty uživatele. Při technickém profilu ověření se na stránce s vlastním kontrolním výrazem zobrazí chybová zpráva. Technický profil:

  • Neposkytuje rozhraní pro interakci s uživatelem. Místo toho se uživatelské rozhraní volá z technického profilu s vlastním uplatněním nebo z ovládacího prvku zobrazení jako technického profilu ověření.
  • Pomocí vícefaktorové ověřovací služby Microsoft Entra vygeneruje a odešle kód na telefonní číslo a pak kód ověří.
  • Ověří telefonní číslo prostřednictvím textových zpráv.

Technický profil poskytuje metody pro odeslání ověřovacího kódu prostřednictvím textové zprávy SMS a ověření kódu. Následující snímek obrazovky ukazuje tok ověření telefonu.

Screenshot showing TOTP flow

Odeslat SMS

Pokud chcete ověřit telefon, první krok vygeneruje kód a odešle ho na telefonní číslo. Pro tento krok je možné nakonfigurovat následující možnosti.

Vstupní deklarace identity

Element InputClaims obsahuje seznam deklarací identity, které se mají odeslat do vícefaktorového ověřování Microsoft Entra. Název deklarace identity můžete také namapovat na název definovaný v technickém profilu vícefaktorového ověřování.

ClaimReferenceId Požadováno Popis
userPrincipalName Ano Identifikátor uživatele, který vlastní telefonní číslo.
phoneNumber Ano Telefonní číslo, na které se má odeslat SMS kód.
companyName No Název společnosti v SMS. Pokud není zadaný, použije se název vaší aplikace.
locale No Národní prostředí sms. Pokud není k dispozici, použije se národní prostředí prohlížeče uživatele.

Výstupní deklarace identity

Zprostředkovatel vícefaktorového ověřovacího protokolu Microsoft Entra nevrací žádné výstupní deklarace identity, takže není nutné zadávat výstupní deklarace identity.

Metadata

Element Metadata obsahuje následující atribut.

Atribut Požadováno Popis
Operation Ano Musí být OneWaySMS.
Prvky uživatelského rozhraní

Následující metadata lze použít ke konfiguraci chybových zpráv zobrazených při odesílání selhání sms. Metadata by měla být nakonfigurovaná v technickém profilu s vlastním kontrolním výrazem . Chybové zprávy lze lokalizovat.

Atribut Požadováno Popis
UserMessageIfCouldntSendSms No Chybová zpráva uživatele, pokud zadané telefonní číslo nepřijme SMS.
UserMessageIfInvalidFormat No Chybová zpráva uživatele, pokud zadané telefonní číslo není platné telefonní číslo.
UserMessageIfServerError No Chybová zpráva uživatele, pokud na serveru došlo k vnitřní chybě.
UserMessageIfThrottled No Chybová zpráva uživatele, pokud došlo k omezení požadavku.

Příklad: odeslání sms

Následující příklad ukazuje technický profil vícefaktorového ověřování Microsoft Entra ID, který se používá k odeslání kódu přes SMS.

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

Ověřit kód

Krok ověření kódu ověří kód odeslaný uživateli. Pro tento krok je možné nakonfigurovat následující možnosti.

Vstupní deklarace identity

Element InputClaims obsahuje seznam deklarací identity, které se mají odeslat do vícefaktorového ověřování Microsoft Entra. Název deklarace identity můžete také namapovat na název definovaný v technickém profilu vícefaktorového ověřování.

ClaimReferenceId Požadováno Popis
phoneNumber Ano Stejné telefonní číslo jako dříve použité k odeslání kódu. Slouží také k vyhledání relace ověření telefonu.
verificationCode Ano Ověřovací kód poskytnutý uživatelem, který má být ověřen

Výstupní deklarace identity

Zprostředkovatel vícefaktorového ověřovacího protokolu Microsoft Entra nevrací žádné výstupní deklarace identity, takže není nutné zadávat výstupní deklarace identity.

Metadata

Element Metadata obsahuje následující atribut.

Atribut Požadováno Popis
Operation Ano Musí být Verify.
Prvky uživatelského rozhraní

Následující metadata lze použít ke konfiguraci chybových zpráv zobrazených při selhání ověření kódu. Metadata by měla být nakonfigurovaná v technickém profilu s vlastním kontrolním výrazem . Chybové zprávy lze lokalizovat.

Atribut Požadováno Popis
UserMessageIfMaxAllowedCodeRetryReached No Chybová zpráva uživatele, pokud se uživatel pokusil o ověřovací kód příliš mnohokrát.
UserMessageIfServerError No Chybová zpráva uživatele, pokud na serveru došlo k vnitřní chybě.
UserMessageIfThrottled No Chybová zpráva uživatele, pokud je požadavek omezen.
UserMessageIfWrongCodeEntered No Chybová zpráva uživatele, pokud je kód zadaný k ověření chybný.

Příklad: Ověření kódu

Následující příklad ukazuje technický profil vícefaktorového ověřování Microsoft Entra ID, který se používá k ověření kódu.

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

Režim TOTP

V tomto režimu musí uživatel nainstalovat libovolnou ověřovací aplikaci, která podporuje jednorázové ověření hesla (TOTP), například aplikaci Microsoft Authenticator, na zařízení, které vlastní.

Během první registrace nebo přihlášení uživatel naskenuje kód QR, otevře přímý odkaz nebo kód zadá ručně pomocí ověřovací aplikace. Pokud chcete ověřit kód TOTP, použijte technické profily ověření ověření hesla pro ověření hesla.

V případě následných přihlášení pomocí metody Získat dostupná zařízení zkontrolujte, jestli už uživatel svoje zařízení zaregistroval. Pokud je počet dostupných zařízení větší než nula, znamená to, že se uživatel zaregistroval dříve. V takovém případě musí uživatel zadat kód TOTP, který se zobrazí v ověřovací aplikaci.

Technický profil:

  • Neposkytuje rozhraní pro interakci s uživatelem. Místo toho se uživatelské rozhraní volá z technického profilu s vlastním kontrolním technickým profilem s ovládacími prvky zobrazení TOTP.
  • Používá vícefaktorovou ověřovací službu Microsoft Entra k ověření kódu TOTP.
  • Zkontroluje, jestli už uživatel zaregistroval svoje zařízení.

Následující snímek obrazovky ukazuje tok registrace a ověření TOTP. Začne kontrolou počtu dostupných zařízení. Pokud je počet dostupných zařízení nulový, uživatel projde krokem orchestrace registrace. Jinak uživatel prochází krokem orchestrace ověření.

Screenshot showing TOTP flow.

Získání dostupných zařízení

Režim získání dostupného zařízení zkontroluje počet zařízení dostupných pro uživatele. Pokud je počet dostupných zařízení nulový, znamená to, že se uživatel ještě nezaregistroval.

Vstupní deklarace identity

Element InputClaims obsahuje seznam deklarací identity, které se mají odeslat do vícefaktorového ověřování Microsoft Entra. Název deklarace identity můžete také namapovat na název definovaný v technickém profilu vícefaktorového ověřování.

ClaimReferenceId Požadováno Popis
userPrincipalName Ano Hlavní název uživatele.

Výstupní deklarace identity

Výstupní prvek deklarací identity obsahuje seznam deklarací identity, které se mají vrátit z vícefaktorového ověřování Microsoft Entra. Název deklarace identity můžete také namapovat na název definovaný v technickém profilu vícefaktorového ověřování.

ClaimReferenceId Požadováno Popis
numberOfAvailableDevices Ano Počet dostupných zařízení pro uživatele

Metadata

Element Metadata obsahuje následující atribut.

Atribut Požadováno Popis
Operation Ano Musí být GetAvailableDevices.

Příklad: Získání dostupných zařízení

Následující příklad ukazuje technický profil vícefaktorového ověřování Microsoft Entra ID, který se používá k získání počtu dostupných zařízení.

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

Zahájení ověření hesla

Zahájení ověření hesla spustí proces ověření. Tento technický profil ověření se volá z technického profilu s vlastním kontrolním výrazem, který prezentuje a ověřuje kódy TOTP. Tento technický profil ověření musí následovat za voláním ověření technického profilu ověření totp .

Vstupní deklarace identity

Element InputClaims obsahuje seznam deklarací identity, které se mají odeslat do vícefaktorového ověřování Microsoft Entra. Název deklarace identity můžete také namapovat na název definovaný v technickém profilu vícefaktorového ověřování.

ClaimReferenceId Požadováno Popis
userPrincipalName Ano Hlavní název uživatele.
objectId Ano ID objektu uživatele.
secretKey Ano Tajný klíč uživatele. Tento klíč je uložený v profilu uživatele v adresáři Azure AD B2C a sdílí se s ověřovací aplikací. Ověřovací aplikace používá tajný kód k vygenerování kódu TOTP. Tento technický profil používá tajný kód k ověření kódu TOTP.

Výstupní deklarace identity

Zprostředkovatel vícefaktorového ověřovacího protokolu Microsoft Entra nevrací žádné výstupní deklarace identity, takže není nutné zadávat výstupní deklarace identity.

Metadata

Element Metadata obsahuje následující atribut.

Atribut Požadováno Popis
Operation Ano Musí být BeginVerifyOTP.

Příklad: Zahájení ověření hesla

Následující příklad ukazuje technický profil vícefaktorového ověřování Microsoft Entra ID, který se používá k zahájení procesu ověřování TOTP.

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

Ověření hesla

Metoda ověření totp ověřuje kód TOTP. Tento technický profil ověření se volá z technického profilu s vlastním kontrolním výrazem, který prezentuje a ověřuje kódy TOTP. Tento technický profil ověření musí předcházet voláním technického profilu Zahájení ověření hesla .

Vstupní deklarace identity

Element InputClaims obsahuje seznam deklarací identity, které se mají odeslat do vícefaktorového ověřování Microsoft Entra. Název deklarace identity můžete také namapovat na název definovaný v technickém profilu vícefaktorového ověřování.

ClaimReferenceId Požadováno Popis
otpCode Ano Kód TOTP poskytnutý uživatelem.

Výstupní deklarace identity

Zprostředkovatel vícefaktorového ověřovacího protokolu Microsoft Entra nevrací žádné výstupní deklarace identity, takže není nutné zadávat výstupní deklarace identity.

Metadata

Element Metadata obsahuje následující atribut.

Atribut Požadováno Popis
Operation Ano Musí být VerifyOTP.

Příklad: Ověření hesla

Následující příklad ukazuje technický profil vícefaktorového ověřování Microsoft Entra ID, který se používá k ověření kódu TOTP.

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

Další kroky