Definiowanie profilu technicznego uwierzytelniania wieloskładnikowego identyfikatora firmy Microsoft w niestandardowych zasadach usługi Azure AD B2C
Usługa Azure Active Directory B2C (Azure AD B2C) zapewnia obsługę weryfikowania numeru telefonu przy użyciu kodu weryfikacyjnego lub weryfikowania kodu jednorazowego hasła jednorazowego (TOTP).
Protokół
Atrybut Name elementu Protocol musi być ustawiony na Proprietary
. Atrybut programu obsługi musi zawierać w pełni kwalifikowaną nazwę zestawu obsługi protokołu, który jest używany przez usługę Azure AD B2C:
Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
W poniższym przykładzie przedstawiono profil techniczny uwierzytelniania wieloskładnikowego identyfikatora firmy Microsoft:
<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" />
...
Weryfikowanie trybu telefonu
W trybie weryfikacji telefonu profil techniczny generuje i wysyła kod do numeru telefonu, a następnie weryfikuje kod. Profil techniczny uwierzytelniania wieloskładnikowego identyfikatora firmy Microsoft może również zwrócić komunikat o błędzie. Profil techniczny weryfikacji weryfikuje dane dostarczone przez użytkownika przed kontynuowaniem podróży użytkownika. W przypadku profilu technicznego weryfikacji na stronie samodzielnej asertywnej jest wyświetlany komunikat o błędzie. Profil techniczny:
- Nie udostępnia interfejsu do interakcji z użytkownikiem. Zamiast tego interfejs użytkownika jest wywoływany z własnego profilu technicznego lub kontrolki wyświetlania jako profil techniczny weryfikacji.
- Używa usługi uwierzytelniania wieloskładnikowego firmy Microsoft do generowania i wysyłania kodu do numeru telefonu, a następnie weryfikuje kod.
- Weryfikuje numer telefonu za pośrednictwem wiadomości SMS.
Profil techniczny udostępnia metody wysyłania kodu weryfikacyjnego za pośrednictwem wiadomości SMS i weryfikowania kodu. Poniższy zrzut ekranu przedstawia przepływ weryfikatora telefonu.
Wyślij wiadomość SMS
Aby zweryfikować telefon, pierwszy krok generuje kod i wysyła go do numeru telefonu. Dla tego kroku można skonfigurować następujące opcje.
Oświadczenia wejściowe
Element InputClaims zawiera listę oświadczeń wysyłanych do uwierzytelniania wieloskładnikowego firmy Microsoft. Możesz również zamapować nazwę oświadczenia na nazwę zdefiniowaną w profilu technicznym uwierzytelniania wieloskładnikowego.
ClaimReferenceId | Wymagania | opis |
---|---|---|
userPrincipalName |
Tak | Identyfikator użytkownika, który jest właścicielem numeru telefonu. |
phoneNumber |
Tak | Numer telefonu do wysłania kodu SMS. |
companyName |
Nie. | Nazwa firmy w wiadomości SMS. Jeśli nie zostanie podana, zostanie użyta nazwa aplikacji. |
locale |
Nie. | Ustawienia regionalne wiadomości SMS. Jeśli nie zostanie podana, używane są ustawienia regionalne przeglądarki użytkownika. |
Oświadczenia wyjściowe
Dostawca protokołu uwierzytelniania wieloskładnikowego firmy Microsoft nie zwraca żadnych oświadczeń wyjściowych, więc nie ma potrzeby określania oświadczeń wyjściowych.
Metadane
Element Metadata zawiera następujący atrybut.
Atrybut | Wymagania | opis |
---|---|---|
Operation |
Tak | Musi mieć wartość OneWaySMS . |
Elementy interfejsu użytkownika
Następujące metadane mogą służyć do konfigurowania komunikatów o błędach wyświetlanych podczas wysyłania komunikatów SMS. Metadane należy skonfigurować w profilu technicznym asertywnego. Komunikaty o błędach mogą być zlokalizowane.
Atrybut | Wymagania | opis |
---|---|---|
UserMessageIfCouldntSendSms |
Nie. | Komunikat o błędzie użytkownika, jeśli podany numer telefonu nie akceptuje wiadomości SMS. |
UserMessageIfInvalidFormat |
Nie. | Komunikat o błędzie użytkownika, jeśli podany numer telefonu nie jest prawidłowym numerem telefonu. |
UserMessageIfServerError |
Nie. | Komunikat o błędzie użytkownika, jeśli serwer napotkał błąd wewnętrzny. |
UserMessageIfThrottled |
Nie. | Komunikat o błędzie użytkownika, jeśli żądanie zostało ograniczone. |
Przykład: wysyłanie wiadomości SMS
W poniższym przykładzie przedstawiono profil techniczny uwierzytelniania wieloskładnikowego firmy Microsoft Entra ID używany do wysyłania kodu za pośrednictwem wiadomości 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>
Zweryfikuj kod
Krok weryfikowania kodu weryfikuje kod wysyłany do użytkownika. Dla tego kroku można skonfigurować następujące opcje.
Oświadczenia wejściowe
Element InputClaims zawiera listę oświadczeń wysyłanych do uwierzytelniania wieloskładnikowego firmy Microsoft. Możesz również zamapować nazwę oświadczenia na nazwę zdefiniowaną w profilu technicznym uwierzytelniania wieloskładnikowego.
ClaimReferenceId | Wymagania | opis |
---|---|---|
phoneNumber |
Tak | Ten sam numer telefonu, który był wcześniej używany do wysyłania kodu. Służy również do lokalizowania sesji weryfikacji telefonu. |
verificationCode |
Tak | Kod weryfikacyjny dostarczony przez użytkownika do zweryfikowania |
Oświadczenia wyjściowe
Dostawca protokołu uwierzytelniania wieloskładnikowego firmy Microsoft nie zwraca żadnych oświadczeń wyjściowych, więc nie ma potrzeby określania oświadczeń wyjściowych.
Metadane
Element Metadata zawiera następujący atrybut.
Atrybut | Wymagania | opis |
---|---|---|
Operation |
Tak | Musi mieć wartość Verify . |
Elementy interfejsu użytkownika
Następujące metadane mogą służyć do konfigurowania komunikatów o błędach wyświetlanych po niepowodzeniu weryfikacji kodu. Metadane należy skonfigurować w profilu technicznym asertywnego. Komunikaty o błędach mogą być zlokalizowane.
Atrybut | Wymagania | opis |
---|---|---|
UserMessageIfMaxAllowedCodeRetryReached |
Nie. | Komunikat o błędzie użytkownika, jeśli użytkownik próbował kod weryfikacyjny zbyt wiele razy. |
UserMessageIfServerError |
Nie. | Komunikat o błędzie użytkownika, jeśli serwer napotkał błąd wewnętrzny. |
UserMessageIfThrottled |
Nie. | Komunikat o błędzie użytkownika, jeśli żądanie jest ograniczone. |
UserMessageIfWrongCodeEntered |
Nie. | Komunikat o błędzie użytkownika, jeśli kod wprowadzony do weryfikacji jest nieprawidłowy. |
Przykład: weryfikowanie kodu
W poniższym przykładzie przedstawiono profil techniczny uwierzytelniania wieloskładnikowego identyfikatora firmy Microsoft używany do weryfikowania kodu.
<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>
Tryb TOTP
W tym trybie użytkownik musi zainstalować dowolną aplikację wystawcy uwierzytelniania, która obsługuje weryfikację hasła jednorazowego (TOTP, time-based password), taką jak aplikacja Microsoft Authenticator, na urządzeniu, którego jest właścicielem.
Podczas pierwszego tworzenia konta lub logowania użytkownik skanuje kod QR, otwiera link bezpośredni lub wprowadza kod ręcznie przy użyciu aplikacji authenticator. Aby zweryfikować kod TOTP, użyj opcji Rozpocznij weryfikację OTP , a następnie sprawdź profile techniczne weryfikacji TOTP .
W przypadku kolejnych logowania użyj metody Pobierz dostępne urządzenia , aby sprawdzić, czy użytkownik zarejestrował już swoje urządzenie. Jeśli liczba dostępnych urządzeń jest większa niż zero, oznacza to, że użytkownik zarejestrował się wcześniej. W takim przypadku użytkownik musi wpisać kod TOTP wyświetlany w aplikacji authenticator.
Profil techniczny:
- Nie udostępnia interfejsu do interakcji z użytkownikiem. Zamiast tego interfejs użytkownika jest wywoływany z własnego profilu technicznego z kontrolkami wyświetlania TOTP.
- Używa usługi uwierzytelniania wieloskładnikowego firmy Microsoft w celu zweryfikowania kodu TOTP.
- Sprawdza, czy użytkownik zarejestrował już swoje urządzenie.
Poniższy zrzut ekranu przedstawia przepływ rejestracji i weryfikacji TOTP. Zaczyna się od sprawdzenia liczby dostępnych urządzeń. Jeśli liczba dostępnych urządzeń wynosi zero, użytkownik przechodzi przez krok aranżacji rejestracji. W przeciwnym razie użytkownik przechodzi przez krok orkiestracji weryfikacji.
Uzyskiwanie dostępnych urządzeń
Tryb pobierania dostępnego urządzenia sprawdza liczbę urządzeń dostępnych dla użytkownika. Jeśli liczba dostępnych urządzeń wynosi zero, oznacza to, że użytkownik jeszcze nie został zarejestrowany.
Oświadczenia wejściowe
Element InputClaims zawiera listę oświadczeń wysyłanych do uwierzytelniania wieloskładnikowego firmy Microsoft. Możesz również zamapować nazwę oświadczenia na nazwę zdefiniowaną w profilu technicznym uwierzytelniania wieloskładnikowego.
ClaimReferenceId | Wymagania | opis |
---|---|---|
userPrincipalName |
Tak | Główna nazwa użytkownika. |
Oświadczenia wyjściowe
Element oświadczenia wyjściowe zawiera listę oświadczeń, które mają być zwracane z uwierzytelniania wieloskładnikowego firmy Microsoft Entra. Możesz również zamapować nazwę oświadczenia na nazwę zdefiniowaną w profilu technicznym uwierzytelniania wieloskładnikowego.
ClaimReferenceId | Wymagania | opis |
---|---|---|
numberOfAvailableDevices |
Tak | Liczba dostępnych urządzeń dla użytkownika. |
Metadane
Element Metadata zawiera następujący atrybut.
Atrybut | Wymagania | opis |
---|---|---|
Operation |
Tak | Musi mieć wartość GetAvailableDevices . |
Przykład: Uzyskiwanie dostępnych urządzeń
W poniższym przykładzie przedstawiono profil techniczny uwierzytelniania wieloskładnikowego identyfikatora firmy Microsoft używany do uzyskiwania liczby dostępnych urządzeń.
<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>
Rozpocznij weryfikowanie protokołu TOTP
Rozpoczęcie weryfikacji toTP rozpoczyna proces weryfikacji. Ten profil techniczny weryfikacji jest wywoływany z własnego profilu technicznego, który przedstawia i weryfikuje kody TOTP. Ten profil techniczny weryfikacji musi być zgodny z wywołaniem weryfikacji profilów technicznych weryfikacji TOTP .
Oświadczenia wejściowe
Element InputClaims zawiera listę oświadczeń wysyłanych do uwierzytelniania wieloskładnikowego firmy Microsoft. Możesz również zamapować nazwę oświadczenia na nazwę zdefiniowaną w profilu technicznym uwierzytelniania wieloskładnikowego.
ClaimReferenceId | Wymagania | opis |
---|---|---|
userPrincipalName |
Tak | Główna nazwa użytkownika. |
objectId |
Tak | Identyfikator obiektu użytkownika. |
secretKey |
Tak | Klucz tajny użytkownika. Ten klucz jest przechowywany w profilu użytkownika w katalogu usługi Azure AD B2C i jest udostępniany aplikacji authenticator. Aplikacja authenticator używa wpisu tajnego do wygenerowania kodu TOTP. Ten profil techniczny używa wpisu tajnego do zweryfikowania kodu TOTP. |
Oświadczenia wyjściowe
Dostawca protokołu uwierzytelniania wieloskładnikowego firmy Microsoft nie zwraca żadnych oświadczeń wyjściowych, więc nie ma potrzeby określania oświadczeń wyjściowych.
Metadane
Element Metadata zawiera następujący atrybut.
Atrybut | Wymagania | opis |
---|---|---|
Operation |
Tak | Musi mieć wartość BeginVerifyOTP . |
Przykład: Rozpoczynanie weryfikowania protokołu TOTP
W poniższym przykładzie przedstawiono profil techniczny uwierzytelniania wieloskładnikowego identyfikatora firmy Microsoft używany do rozpoczęcia procesu weryfikacji 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>
Weryfikowanie protokołu TOTP
Metoda verify TOTP weryfikuje kod TOTP. Ten profil techniczny weryfikacji jest wywoływany z własnego profilu technicznego, który przedstawia i weryfikuje kody TOTP. Ten profil techniczny weryfikacji musi być poprzedzony wywołaniem profilu technicznego Rozpocznij weryfikację TOTP .
Oświadczenia wejściowe
Element InputClaims zawiera listę oświadczeń wysyłanych do uwierzytelniania wieloskładnikowego firmy Microsoft. Możesz również zamapować nazwę oświadczenia na nazwę zdefiniowaną w profilu technicznym uwierzytelniania wieloskładnikowego.
ClaimReferenceId | Wymagania | opis |
---|---|---|
otpCode |
Tak | Kod TOTP dostarczony przez użytkownika. |
Oświadczenia wyjściowe
Dostawca protokołu uwierzytelniania wieloskładnikowego firmy Microsoft nie zwraca żadnych oświadczeń wyjściowych, więc nie ma potrzeby określania oświadczeń wyjściowych.
Metadane
Element Metadata zawiera następujący atrybut.
Atrybut | Wymagania | opis |
---|---|---|
Operation |
Tak | Musi mieć wartość VerifyOTP . |
Przykład: Weryfikowanie protokołu TOTP
W poniższym przykładzie przedstawiono profil techniczny uwierzytelniania wieloskładnikowego identyfikatora firmy Microsoft używany do weryfikowania kodu 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>