Dela via


Definiera en teknisk profil för multifaktorautentisering för Microsoft Entra ID i en anpassad Azure AD B2C-princip

Viktigt!

Från och med den 1 maj 2025 är Azure AD B2C inte längre tillgängligt att köpa för nya kunder. Läs mer i våra vanliga frågor och svar.

Azure Active Directory B2C (Azure AD B2C) ger stöd för att verifiera ett telefonnummer med hjälp av en verifieringskod eller verifiera en TOTP-kod (Time-based One-Time Password).

Protokoll

Attributet Namn för protokollelementet måste anges till Proprietary. Hanterarattributet måste innehålla det fullständigt kvalificerade namnet på protokollhanterarsammansättningen som används av Azure AD B2C:

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

I följande exempel visas en teknisk profil för Microsoft Entra ID multifaktorautentisering:

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

Verifiera telefonläget

I läget för att verifiera telefon genererar och skickar den tekniska profilen en kod till ett telefonnummer och verifierar sedan koden. Den tekniska profilen för multifaktorautentisering för Microsoft Entra ID kan också returnera ett felmeddelande. Den tekniska valideringsprofilen validerar användardata innan användarresan fortsätter. Med den tekniska verifieringsprofilen visas ett felmeddelande på en självsäkrad sida. Den tekniska profilen:

  • Tillhandahåller inte något gränssnitt för att interagera med användaren. I stället anropas användargränssnittet från en självkontrollerad teknisk profil eller en visningskontroll som en teknisk valideringsprofil.
  • Använder Microsoft Entra multifaktorautentiseringstjänst för att generera och skicka en kod till ett telefonnummer och verifierar sedan koden.
  • Validerar ett telefonnummer via textmeddelanden.

Den tekniska profilen innehåller metoder för att skicka verifieringskoden via SMS och verifiera koden. Följande skärmbild visar flödet för telefonverifieraren.

Skärmbild som visar TOTP-flöde

Skicka SMS

För att verifiera en telefon genererar det första steget en kod och skickar den till telefonnumret. Följande alternativ kan konfigureras för det här steget.

Indataanspråk

Elementet InputClaims innehåller en lista över anspråk som ska skickas till Microsoft Entra multifaktorautentisering. Du kan också mappa namnet på ditt anspråk till det namn som definierats i den tekniska MFA-profilen.

ClaimReferenceId (på engelska) Krävs Beskrivning
userPrincipalName Ja Identifieraren för den användare som äger telefonnumret.
phoneNumber Ja Telefonnumret som du vill skicka en SMS-kod till.
companyName Nej Företagsnamnet i SMS:et. Om det inte anges används namnet på ditt program.
locale Nej Språket för SMS:et. Om det inte anges används användarens webbläsarspråk.

Utdataanspråk

Microsoft Entra protokollprovidern för multifaktorautentisering returnerar inga utgående anspråk, så du behöver inte ange utdataanspråk.

Metainformation

Elementet Metadata innehåller följande attribut.

Egenskap Krävs Beskrivning
Operation Ja Måste vara OneWaySMS.
Gränssnittselement

Följande metadata kan användas för att konfigurera de felmeddelanden som visas när SMS-fel skickas. Metadata ska konfigureras i den självsäkra tekniska profilen. Felmeddelandena kan lokaliseras.

Egenskap Krävs Beskrivning
UserMessageIfCouldntSendSms Nej Användarens felmeddelande om det angivna telefonnumret inte accepterar SMS.
UserMessageIfInvalidFormat Nej Felmeddelande från användaren om det angivna telefonnumret inte är ett giltigt telefonnummer.
UserMessageIfServerError Nej Användarens felmeddelande om servern har påträffat ett internt fel.
UserMessageIfThrottled Nej Användarfelmeddelande om en begäran har begränsats.

Exempel: skicka ett SMS

I följande exempel visas en teknisk profil för Microsoft Entra ID multifaktorautentisering som används för att skicka en kod via 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>

Verifiera koden

Verifieringskodsteget verifierar en kod som skickas till användaren. Följande alternativ kan konfigureras för det här steget.

Indataanspråk

Elementet InputClaims innehåller en lista över anspråk som ska skickas till Microsoft Entra multifaktorautentisering. Du kan också mappa namnet på ditt anspråk till det namn som definierats i den tekniska MFA-profilen.

ClaimReferenceId (på engelska) Krävs Beskrivning
phoneNumber Ja Samma telefonnummer som tidigare användes för att skicka en kod. Den används också för att hitta en telefonverifieringssession.
verificationCode Ja Verifieringskoden som tillhandahålls av användaren som ska verifieras

Utdataanspråk

Microsoft Entra protokollprovidern för multifaktorautentisering returnerar inga utgående anspråk, så du behöver inte ange utdataanspråk.

Metainformation

Elementet Metadata innehåller följande attribut.

Egenskap Krävs Beskrivning
Operation Ja Måste vara Verify.
Gränssnittselement

Följande metadata kan användas för att konfigurera felmeddelandena som visas vid kodverifieringsfel. Metadata ska konfigureras i den självsäkra tekniska profilen. Felmeddelandena kan lokaliseras.

Egenskap Krävs Beskrivning
UserMessageIfMaxAllowedCodeRetryReached Nej Felmeddelande från användaren om användaren har försökt verifiera koden för många gånger.
UserMessageIfServerError Nej Användarens felmeddelande om servern har påträffat ett internt fel.
UserMessageIfThrottled Nej Användarfelmeddelande om begäran begränsas.
UserMessageIfWrongCodeEntered Nej Användarfelmeddelande om koden som angetts för verifiering är felaktig.

Exempel: verifiera en kod

I följande exempel visas en teknisk profil för Microsoft Entra ID multifaktorautentisering som används för att verifiera koden.

<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-läge

I det här läget måste användaren installera en autentiseringsapp som stöder tidsbaserad TOTP-verifiering (One-Time Password), till exempel Microsoft Authenticator-appen, på en enhet som de äger.

Under den första registreringen eller inloggningen skannar användaren en QR-kod, öppnar en djuplänk eller anger koden manuellt med hjälp av autentiseringsappen. Om du vill verifiera TOTP-koden använder du de tekniska profilerna Börja verifiera OTP följt av Verifiera tekniska profiler för TOTP-validering .

För efterföljande inloggningar använder du metoden Hämta tillgängliga enheter för att kontrollera om användaren redan har registrerat sin enhet. Om antalet tillgängliga enheter är större än noll indikerar detta att användaren har registrerat sig tidigare. I det här fallet måste användaren skriva in TOTP-koden som visas i autentiseringsappen.

Den tekniska profilen:

  • Tillhandahåller inte något gränssnitt för att interagera med användaren. I stället anropas användargränssnittet från en självkontrollerad teknisk profil med TOTP-visningskontrollerna.
  • Använder Microsoft Entra multifaktorautentiseringstjänst för att verifiera TOTP-koden.
  • Kontrollerar om en användare redan har registrerat sin enhet.

Följande skärmbild visar ett TOTP-registrerings- och verifieringsflöde. Det börjar med att kontrollera antalet tillgängliga enheter. Om antalet tillgängliga enheter är noll går användaren igenom orkestreringssteget för registrering. Annars går användaren igenom verifieringsorkestreringssteget.

Skärmbild som visar TOTP-flödet.

Hämta tillgängliga enheter

Läget Hämta tillgänglig enhet kontrollerar antalet enheter som är tillgängliga för användaren. Om antalet tillgängliga enheter är noll indikerar detta att användaren inte har registrerat sig ännu.

Indataanspråk

Elementet InputClaims innehåller en lista över anspråk som ska skickas till Microsoft Entra multifaktorautentisering. Du kan också mappa namnet på ditt anspråk till det namn som definierats i den tekniska MFA-profilen.

ClaimReferenceId (på engelska) Krävs Beskrivning
userPrincipalName Ja Användarens huvudnamn.

Utdataanspråk

Elementet utgående anspråk innehåller en lista över anspråk som ska returneras från Microsoft Entra multifaktorautentisering. Du kan också mappa namnet på ditt anspråk till det namn som definierats i den tekniska MFA-profilen.

ClaimReferenceId (på engelska) Krävs Beskrivning
numberOfAvailableDevices Ja Antalet tillgängliga enheter för användaren.

Metainformation

Elementet Metadata innehåller följande attribut.

Egenskap Krävs Beskrivning
Operation Ja Måste vara GetAvailableDevices.

Exempel: Hämta tillgängliga enheter

I följande exempel visas en teknisk profil för Microsoft Entra ID multifaktorautentisering som används för att hämta antalet tillgängliga enheter.

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

Börja verifiera TOTP

TOTP för att börja verifiera startar verifieringsprocessen. Den här tekniska valideringsprofilen anropas från den självsäkra tekniska profilen som presenterar och verifierar TOTP-koder. Den här tekniska valideringsprofilen måste följas av ett anrop för att verifiera tekniska profiler för TOTP-validering .

Indataanspråk

Elementet InputClaims innehåller en lista över anspråk som ska skickas till Microsoft Entra multifaktorautentisering. Du kan också mappa namnet på ditt anspråk till det namn som definierats i den tekniska MFA-profilen.

ClaimReferenceId (på engelska) Krävs Beskrivning
userPrincipalName Ja Användarens huvudnamn.
objectId Ja Användarobjekt-ID:t.
secretKey Ja Användarens hemliga nyckel. Den här nyckeln lagras i användarens profil i Azure AD B2C-katalogen och delas med autentiseringsappen. Autentiseringsappen använder hemligheten för att generera TOTP-koden. Den här tekniska profilen använder hemligheten för att verifiera TOTP-koden.

Utdataanspråk

Microsoft Entra protokollprovidern för multifaktorautentisering returnerar inga utgående anspråk, så du behöver inte ange utdataanspråk.

Metainformation

Elementet Metadata innehåller följande attribut.

Egenskap Krävs Beskrivning
Operation Ja Måste vara BeginVerifyOTP.

Exempel: Börja verifiera TOTP

I följande exempel visas en teknisk profil för Microsoft Entra ID multifaktorautentisering som används för att påbörja TOTP-verifieringsprocessen.

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

Verifiera TOTP

Metoden verify TOTP verifierar en TOTP-kod. Den här tekniska valideringsprofilen anropas från den självsäkra tekniska profilen som presenterar och verifierar TOTP-koder. Den här tekniska valideringsprofilen måste föregås av ett anrop till de tekniska profilerna för Börja verifiera TOTP-validering .

Indataanspråk

Elementet InputClaims innehåller en lista över anspråk som ska skickas till Microsoft Entra multifaktorautentisering. Du kan också mappa namnet på ditt anspråk till det namn som definierats i den tekniska MFA-profilen.

ClaimReferenceId (på engelska) Krävs Beskrivning
otpCode Ja TOTP-koden som tillhandahålls av användaren.

Utdataanspråk

Microsoft Entra protokollprovidern för multifaktorautentisering returnerar inga utgående anspråk, så du behöver inte ange utdataanspråk.

Metainformation

Elementet Metadata innehåller följande attribut.

Egenskap Krävs Beskrivning
Operation Ja Måste vara VerifyOTP.

Exempel: Verifiera TOTP

I följande exempel visas en teknisk profil för Microsoft Entra-ID multifaktorautentisering som används för att verifiera en TOTP-kod.

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

Nästa steg