Een technisch profiel voor meervoudige verificatie voor Microsoft Entra ID definiëren in een aangepast Azure AD B2C-beleid
Azure Active Directory B2C (Azure AD B2C) biedt ondersteuning voor het verifiëren van een telefoonnummer met behulp van een verificatiecode of het verifiëren van een TOTP-code (Time-based One-time Password).
Protocol
Het kenmerk Naam van het element Protocol moet worden ingesteld op Proprietary
. Het kenmerk handler moet de volledig gekwalificeerde naam bevatten van de protocolhandlerassembly die wordt gebruikt door Azure AD B2C:
Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
In het volgende voorbeeld ziet u een technisch profiel voor meervoudige verificatie van 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" />
...
Telefoonmodus verifiëren
In de verificatiemodus genereert en verzendt het technische profiel een code naar een telefoonnummer en controleert het vervolgens de code. Het technische profiel voor meervoudige verificatie van Microsoft Entra ID kan ook een foutbericht retourneren. Het technische validatieprofiel valideert de door de gebruiker verstrekte gegevens voordat het gebruikerstraject wordt voortgezet. Met het technische validatieprofiel wordt een foutbericht weergegeven op een zelf-gecontroleerde pagina. Het technische profiel:
- Biedt geen interface voor interactie met de gebruiker. In plaats daarvan wordt de gebruikersinterface aangeroepen vanuit een zelf-gecontroleerd technisch profiel of een weergavebesturingselement als een validatie technisch profiel.
- Maakt gebruik van de Multi-Factor Authentication-service van Microsoft Entra om een code te genereren en te verzenden naar een telefoonnummer en verifieert vervolgens de code.
- Valideert een telefoonnummer via sms-berichten.
Het technische profiel biedt methoden voor het verzenden van de verificatiecode via sms-bericht en het verifiëren van de code. In de volgende schermafbeelding wordt de stroom van de telefoonverificatie weergegeven.
Sms verzenden
Als u een telefoon wilt verifiëren, genereert de eerste stap een code en verzendt deze naar het telefoonnummer. De volgende opties kunnen voor deze stap worden geconfigureerd.
Invoerclaims
Het element InputClaims bevat een lijst met claims die naar Microsoft Entra-meervoudige verificatie moeten worden verzonden. U kunt ook de naam van uw claim toewijzen aan de naam die is gedefinieerd in het technische MFA-profiel.
ClaimReferenceId | Vereist | Omschrijving |
---|---|---|
userPrincipalName |
Ja | De id voor de gebruiker die eigenaar is van het telefoonnummer. |
phoneNumber |
Ja | Het telefoonnummer om een sms-code naar te verzenden. |
companyName |
Nee | De bedrijfsnaam in de sms. Als deze niet is opgegeven, wordt de naam van uw toepassing gebruikt. |
locale |
Nee | De landinstelling van de sms. Als dit niet wordt opgegeven, wordt de landinstelling van de browser van de gebruiker gebruikt. |
Uitvoerclaims
De Provider van het Microsoft Entra-protocol voor meervoudige verificatie retourneert geen uitvoerclaims, dus u hoeft geen uitvoerclaims op te geven.
Metagegevens
Het element Metagegevens bevat het volgende kenmerk.
Kenmerk | Vereist | Omschrijving |
---|---|---|
Operation |
Ja | Moet OneWaySMS zijn. |
UI-elementen
De volgende metagegevens kunnen worden gebruikt om de foutberichten te configureren die worden weergegeven bij het verzenden van sms-fouten. De metagegevens moeten worden geconfigureerd in het zelf-gecontroleerde technische profiel. De foutberichten kunnen worden gelokaliseerd.
Kenmerk | Vereist | Beschrijving |
---|---|---|
UserMessageIfCouldntSendSms |
Nee | Foutbericht van de gebruiker als het opgegeven telefoonnummer geen sms accepteert. |
UserMessageIfInvalidFormat |
Nee | Foutbericht van de gebruiker als het opgegeven telefoonnummer geen geldig telefoonnummer is. |
UserMessageIfServerError |
Nee | Foutbericht van de gebruiker als er een interne fout is opgetreden op de server. |
UserMessageIfThrottled |
Nee | Foutbericht van de gebruiker als een aanvraag is beperkt. |
Voorbeeld: een sms verzenden
In het volgende voorbeeld ziet u een technisch profiel voor meervoudige verificatie van Microsoft Entra ID dat wordt gebruikt om een code via sms te verzenden.
<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>
Code verifiëren
Met de stap code verifiëren wordt een code geverifieerd die naar de gebruiker is verzonden. De volgende opties kunnen voor deze stap worden geconfigureerd.
Invoerclaims
Het element InputClaims bevat een lijst met claims die naar Microsoft Entra-meervoudige verificatie moeten worden verzonden. U kunt ook de naam van uw claim toewijzen aan de naam die is gedefinieerd in het technische MFA-profiel.
ClaimReferenceId | Vereist | Omschrijving |
---|---|---|
phoneNumber |
Ja | Hetzelfde telefoonnummer als voorheen voor het verzenden van een code. Het wordt ook gebruikt om een telefoonverificatiesessie te vinden. |
verificationCode |
Ja | De verificatiecode die de gebruiker heeft verstrekt om te worden geverifieerd |
Uitvoerclaims
De Provider van het Microsoft Entra-protocol voor meervoudige verificatie retourneert geen uitvoerclaims, dus u hoeft geen uitvoerclaims op te geven.
Metagegevens
Het element Metagegevens bevat het volgende kenmerk.
Kenmerk | Vereist | Omschrijving |
---|---|---|
Operation |
Ja | Moet Verify zijn. |
UI-elementen
De volgende metagegevens kunnen worden gebruikt om de foutberichten te configureren die worden weergegeven bij het mislukken van een codeverificatie. De metagegevens moeten worden geconfigureerd in het zelf-gecontroleerde technische profiel. De foutberichten kunnen worden gelokaliseerd.
Kenmerk | Vereist | Beschrijving |
---|---|---|
UserMessageIfMaxAllowedCodeRetryReached |
Nee | Foutbericht van de gebruiker als de gebruiker te vaak een verificatiecode heeft geprobeerd. |
UserMessageIfServerError |
Nee | Foutbericht van de gebruiker als er een interne fout is opgetreden op de server. |
UserMessageIfThrottled |
Nee | Foutbericht van de gebruiker als de aanvraag wordt beperkt. |
UserMessageIfWrongCodeEntered |
Nee | Foutbericht van de gebruiker als de code die is ingevoerd voor verificatie onjuist is. |
Voorbeeld: een code verifiëren
In het volgende voorbeeld ziet u een technisch profiel voor meervoudige verificatie van Microsoft Entra ID dat wordt gebruikt om de code te verifiëren.
<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-modus
In deze modus moet de gebruiker een authenticator-app installeren die ondersteuning biedt voor verificatie van eenmalig wachtwoord (TOTP), zoals de Microsoft Authenticator-app op een apparaat dat de eigenaar is.
Tijdens de eerste registratie of aanmelding scant de gebruiker een QR-code, opent hij een dieptekoppeling of voert hij de code handmatig in met de authenticator-app. Als u de TOTP-code wilt controleren, gebruikt u de OTP-verificatie starten, gevolgd door TOTP verifiëren-verificatie van technische profielen.
Voor volgende aanmeldingen gebruikt u de methode Beschikbare apparaten ophalen om te controleren of de gebruiker het apparaat al heeft ingeschreven. Als het aantal beschikbare apparaten groter is dan nul, geeft dit aan dat de gebruiker zich eerder heeft geregistreerd. In dit geval moet de gebruiker de TOTP-code typen die wordt weergegeven in de verificator-app.
Het technische profiel:
- Biedt geen interface voor interactie met de gebruiker. In plaats daarvan wordt de gebruikersinterface aangeroepen vanuit een zelf-gecontroleerd technisch profiel, met de TOTP-weergavebesturingselementen.
- Maakt gebruik van de Microsoft Entra-service voor meervoudige verificatie om de TOTP-code te valideren.
- Controleert of een gebruiker het apparaat al heeft ingeschreven.
In de volgende schermopname ziet u een TOTP-inschrijvings- en verificatiestroom. Het begint met het controleren van het aantal beschikbare apparaten. Als het aantal beschikbare apparaten nul is, doorloopt de gebruiker de stap registratie-indeling. Anders doorloopt de gebruiker de stap verificatie-indeling.
Beschikbare apparaten ophalen
Met de modus Beschikbare apparaten wordt gecontroleerd hoeveel apparaten beschikbaar zijn voor de gebruiker. Als het aantal beschikbare apparaten nul is, geeft dit aan dat de gebruiker nog niet is ingeschreven.
Invoerclaims
Het element InputClaims bevat een lijst met claims die naar Microsoft Entra-meervoudige verificatie moeten worden verzonden. U kunt ook de naam van uw claim toewijzen aan de naam die is gedefinieerd in het technische MFA-profiel.
ClaimReferenceId | Vereist | Omschrijving |
---|---|---|
userPrincipalName |
Ja | De UPN (user principal name). |
Uitvoerclaims
Het element uitvoerclaims bevat een lijst met claims die moeten worden geretourneerd door Meervoudige Verificatie van Microsoft Entra. U kunt ook de naam van uw claim toewijzen aan de naam die is gedefinieerd in het technische MFA-profiel.
ClaimReferenceId | Vereist | Omschrijving |
---|---|---|
numberOfAvailableDevices |
Ja | Het aantal beschikbare apparaten voor de gebruiker. |
Metagegevens
Het element Metagegevens bevat het volgende kenmerk.
Kenmerk | Vereist | Omschrijving |
---|---|---|
Operation |
Ja | Moet GetAvailableDevices zijn. |
Voorbeeld: Beschikbare apparaten ophalen
In het volgende voorbeeld ziet u een technisch profiel voor meervoudige verificatie van Microsoft Entra ID dat wordt gebruikt om het aantal beschikbare apparaten op te halen.
<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>
Begin met verificatie van TOTP
De Begin met verificatie van TOTP start het verificatieproces. Dit technische verificatieprofiel wordt aangeroepen vanuit het zelf-gecontroleerde technische profiel dat TOTP-codes presenteert en verifieert. Dit technische verificatieprofiel moet worden gevolgd door een aanroep om technische profielen voor TOTP-validatie te verifiëren.
Invoerclaims
Het element InputClaims bevat een lijst met claims die naar Microsoft Entra-meervoudige verificatie moeten worden verzonden. U kunt ook de naam van uw claim toewijzen aan de naam die is gedefinieerd in het technische MFA-profiel.
ClaimReferenceId | Vereist | Omschrijving |
---|---|---|
userPrincipalName |
Ja | De UPN (user principal name). |
objectId |
Ja | De gebruikersobject-id. |
secretKey |
Ja | De geheime sleutel van de gebruiker. Deze sleutel wordt opgeslagen in het profiel van de gebruiker in de Azure AD B2C-directory en wordt gedeeld met de authenticator-app. De authenticator-app gebruikt het geheim om de TOTP-code te genereren. Dit technische profiel maakt gebruik van het geheim om de TOTP-code te verifiëren. |
Uitvoerclaims
De Provider van het Microsoft Entra-protocol voor meervoudige verificatie retourneert geen uitvoerclaims, dus u hoeft geen uitvoerclaims op te geven.
Metagegevens
Het element Metagegevens bevat het volgende kenmerk.
Kenmerk | Vereist | Omschrijving |
---|---|---|
Operation |
Ja | Moet BeginVerifyOTP zijn. |
Voorbeeld: Begin met verificatie van TOTP
In het volgende voorbeeld ziet u een technisch profiel voor meervoudige verificatie van Microsoft Entra ID dat wordt gebruikt om het TOTP-verificatieproces te starten.
<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 verifiëren
Met de TOTP-methode wordt een TOTP-code geverifieerd. Dit technische verificatieprofiel wordt aangeroepen vanuit het zelf-gecontroleerde technische profiel dat TOTP-codes presenteert en verifieert. Dit technische verificatieprofiel moet vooraf worden gegaan door een aanroep naar de verificatie van technische profielen via Begin met verificatie van TOTP.
Invoerclaims
Het element InputClaims bevat een lijst met claims die naar Microsoft Entra-meervoudige verificatie moeten worden verzonden. U kunt ook de naam van uw claim toewijzen aan de naam die is gedefinieerd in het technische MFA-profiel.
ClaimReferenceId | Vereist | Omschrijving |
---|---|---|
otpCode |
Ja | De TOTP-code van de gebruiker. |
Uitvoerclaims
De Provider van het Microsoft Entra-protocol voor meervoudige verificatie retourneert geen uitvoerclaims, dus u hoeft geen uitvoerclaims op te geven.
Metagegevens
Het element Metagegevens bevat het volgende kenmerk.
Kenmerk | Vereist | Omschrijving |
---|---|---|
Operation |
Ja | Moet VerifyOTP zijn. |
Voorbeeld: TOTP controleren
In het volgende voorbeeld ziet u een technisch profiel voor meervoudige verificatie van Microsoft Entra ID dat wordt gebruikt om een TOTP-code te verifiëren.
<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>