Definiera en teknisk profil för Microsoft Entra-ID för multifaktorautentisering i en anpassad Azure AD B2C-princip
Azure Active Directory B2C (Azure AD B2C) har stöd för att verifiera ett telefonnummer med hjälp av en verifieringskod eller verifiera en tidsbaserad engångslösenordkod (TOTP).
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 för 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äge
I verifieringstelefonläget 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 multifaktorautentiseringstjänsten Microsoft Entra för att generera och skicka en kod till ett telefonnummer och verifierar sedan koden.
- Validerar ett telefonnummer via sms.
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 telefonverifierare.
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å anspråket till det namn som definierats i MFA:s tekniska profil.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
userPrincipalName |
Ja | Identifieraren för den användare som äger telefonnumret. |
phoneNumber |
Ja | Det telefonnummer 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åkvarianten för SMS:et. Om det inte anges används användarens webbläsarspråk. |
Utdataanspråk
Microsoft Entra-multifaktorautentiseringsprotokollprovidern returnerar inga utdataanspråk, så du behöver inte ange utdataanspråk.
Metadata
Metadataelementet innehåller följande attribut.
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
Operation |
Ja | Måste vara OneWaySMS . |
Användargrä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.
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
UserMessageIfCouldntSendSms |
Nej | Användarens felmeddelande om det angivna telefonnumret inte accepterar SMS. |
UserMessageIfInvalidFormat |
Nej | Användarens felmeddelande 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 för 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å anspråket till det namn som definierats i MFA:s tekniska profil.
ClaimReferenceId | Obligatoriskt | 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-multifaktorautentiseringsprotokollprovidern returnerar inga utdataanspråk, så du behöver inte ange utdataanspråk.
Metadata
Metadataelementet innehåller följande attribut.
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
Operation |
Ja | Måste vara Verify . |
Användargrä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.
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
UserMessageIfMaxAllowedCodeRetryReached |
Nej | Användarens felmeddelande 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ändarens felmeddelande om begäran begränsas. |
UserMessageIfWrongCodeEntered |
Nej | Användarens felmeddelande om koden som angetts för verifiering är felaktig. |
Exempel: verifiera en kod
I följande exempel visas en teknisk profil för Multifaktorautentisering för Microsoft Entra-ID 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 alla autentiseringsappar som stöder tidsbaserad engångslösenordsverifiering (TOTP), till exempel Microsoft Authenticator-appen, på en enhet som de äger.
Under den första registreringen eller inloggningen söker användaren igenom en QR-kod, öppnar en djuplänk eller anger koden manuellt med autentiseringsappen. Om du vill verifiera TOTP-koden använder du den första verifieringen av OTP följt av Verifiera tekniska TOTP-verifieringsprofiler .
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 anger detta att användaren har registrerat sig tidigare. I det här fallet måste användaren ange 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 multifaktorautentiseringstjänsten Microsoft Entra 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 registreringsorkestreringssteget. Annars går användaren igenom verifieringsorkestreringssteget.
Hämta tillgängliga enheter
Hämta tillgängligt enhetsläge kontrollerar antalet enheter som är tillgängliga för användaren. Om antalet tillgängliga enheter är noll anger detta att användaren inte har registrerats ä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å anspråket till det namn som definierats i MFA:s tekniska profil.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
userPrincipalName |
Ja | Användarens huvudnamn. |
Utdataanspråk
Elementet utdataanspråk innehåller en lista över anspråk som ska returneras från Microsoft Entra multifaktorautentisering. Du kan också mappa namnet på anspråket till det namn som definierats i MFA:s tekniska profil.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
numberOfAvailableDevices |
Ja | Antalet tillgängliga enheter för användaren. |
Metadata
Metadataelementet innehåller följande attribut.
Attribut | Obligatoriskt | 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 för 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
Börja kontrollera att TOTP 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 till Verifiera tekniska TOTP-verifieringsprofiler .
Indataanspråk
Elementet InputClaims innehåller en lista över anspråk som ska skickas till Microsoft Entra multifaktorautentisering. Du kan också mappa namnet på anspråket till det namn som definierats i MFA:s tekniska profil.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
userPrincipalName |
Ja | Användarens huvudnamn. |
objectId |
Ja | Användarobjektets ID. |
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-multifaktorautentiseringsprotokollprovidern returnerar inga utdataanspråk, så du behöver inte ange utdataanspråk.
Metadata
Metadataelementet innehåller följande attribut.
Attribut | Obligatoriskt | 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 för 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 att verifiera TOTP-verifiering .
Indataanspråk
Elementet InputClaims innehåller en lista över anspråk som ska skickas till Microsoft Entra multifaktorautentisering. Du kan också mappa namnet på anspråket till det namn som definierats i MFA:s tekniska profil.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
otpCode |
Ja | TOTP-koden som tillhandahålls av användaren. |
Utdataanspråk
Microsoft Entra-multifaktorautentiseringsprotokollprovidern returnerar inga utdataanspråk, så du behöver inte ange utdataanspråk.
Metadata
Metadataelementet innehåller följande attribut.
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
Operation |
Ja | Måste vara VerifyOTP . |
Exempel: Verifiera TOTP
I följande exempel visas en teknisk profil för Microsoft Entra-ID för 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>