Definiowanie profilu technicznego samoobsługowego resetowania hasła identyfikatora firmy Microsoft w niestandardowych zasadach usługi Azure AD B2C
Uwaga
W usłudze Azure Active Directory B2C zasady niestandardowe są przeznaczone głównie do rozwiązywania złożonych scenariuszy. W przypadku większości scenariuszy zalecamy używanie wbudowanych przepływów użytkownika. Jeśli nie zostało to zrobione, dowiedz się więcej o niestandardowym pakiecie startowym zasad w temacie Wprowadzenie do zasad niestandardowych w usłudze Active Directory B2C.
Usługa Azure Active Directory B2C (Azure AD B2C) zapewnia obsługę weryfikowania adresu e-mail na potrzeby samoobsługowego resetowania hasła (SSPR). Użyj profilu technicznego samoobsługowego resetowania hasła identyfikatora firmy Microsoft, aby wygenerować i wysłać kod na adres e-mail, a następnie zweryfikować kod. Profil techniczny samoobsługowego resetowania hasła 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.
Ten 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 microsoft Entra SSPR do generowania i wysyłania kodu na adres e-mail, a następnie weryfikuje kod.
- Weryfikuje adres e-mail za pośrednictwem kodu weryfikacyjnego.
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.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
W poniższym przykładzie przedstawiono profil techniczny samoobsługowego resetowania hasła identyfikatora firmy Microsoft:
<TechnicalProfile Id="AadSspr-SendCode">
<DisplayName>Send Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
...
Wyślij wiadomość e-mail
Pierwszym trybem tego profilu technicznego jest wygenerowanie kodu i wysłanie go. Dla tego trybu można skonfigurować następujące opcje.
Oświadczenia wejściowe
Element InputClaims zawiera listę oświadczeń wysyłanych do usługi Microsoft Entra SSPR. Możesz również zamapować nazwę oświadczenia na nazwę zdefiniowaną w profilu technicznym samoobsługowego resetowania hasła.
ClaimReferenceId | Wymagania | opis |
---|---|---|
Emailaddress | Tak | Identyfikator użytkownika, który jest właścicielem adresu e-mail. Właściwość PartnerClaimType oświadczenia wejściowego musi być ustawiona na emailAddress . |
Element InputClaimsTransformations może zawierać kolekcję elementów InputClaimsTransformation , które są używane do modyfikowania oświadczeń wejściowych lub generowania nowych przed wysłaniem do usługi Microsoft Entra SSPR.
Oświadczenia wyjściowe
Dostawca protokołu SSPR firmy Microsoft nie zwraca żadnych danych OutputClaims, dlatego nie ma potrzeby określania oświadczeń wyjściowych. Można jednak uwzględnić oświadczenia, które nie są zwracane przez dostawcę protokołu Microsoft Entra SSPR, o ile ustawisz DefaultValue
atrybut.
Element OutputClaimsTransformations może zawierać kolekcję elementów OutputClaimsTransformation , które są używane do modyfikowania oświadczeń wyjściowych lub generowania nowych.
Metadane
Atrybut | Wymagania | opis |
---|---|---|
Operation | Tak | Musi mieć wartość SendCode. |
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 |
---|---|---|
UserMessageIfInternalError | 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 e-mail
W poniższym przykładzie pokazano profil techniczny samoobsługowego resetowania hasła firmy Microsoft, który jest używany do wysyłania kodu za pośrednictwem poczty e-mail.
<TechnicalProfile Id="AadSspr-SendCode">
<DisplayName>Send Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">SendCode</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/>
</InputClaims>
</TechnicalProfile>
Zweryfikuj kod
Drugi tryb tego profilu technicznego polega na zweryfikowaniu kodu. Dla tego trybu można skonfigurować następujące opcje.
Oświadczenia wejściowe
Element InputClaims zawiera listę oświadczeń wysyłanych do usługi Microsoft Entra SSPR. Możesz również zamapować nazwę oświadczenia na nazwę zdefiniowaną w profilu technicznym samoobsługowego resetowania hasła.
ClaimReferenceId | Wymagania | opis |
---|---|---|
Emailaddress | Tak | Ten sam adres e-mail, który był wcześniej używany do wysyłania kodu. Służy również do lokalizowania sesji weryfikacji poczty e-mail. Właściwość PartnerClaimType oświadczenia wejściowego musi być ustawiona na emailAddress . |
verificationCode | Tak | Kod weryfikacyjny dostarczony przez użytkownika do zweryfikowania. Właściwość PartnerClaimType oświadczenia wejściowego musi być ustawiona na verificationCode . |
Element InputClaimsTransformations może zawierać kolekcję elementów InputClaimsTransformation , które są używane do modyfikowania oświadczeń wejściowych lub generowania nowych przed wywołaniem usługi SSPR firmy Microsoft.
Oświadczenia wyjściowe
Dostawca protokołu SSPR firmy Microsoft nie zwraca żadnych danych OutputClaims, dlatego nie ma potrzeby określania oświadczeń wyjściowych. Można jednak uwzględnić oświadczenia, które nie są zwracane przez dostawcę protokołu Microsoft Entra SSPR, o ile ustawisz DefaultValue
atrybut.
Element OutputClaimsTransformations może zawierać kolekcję elementów OutputClaimsTransformation , które są używane do modyfikowania oświadczeń wyjściowych lub generowania nowych.
Metadane
Atrybut | Wymagania | opis |
---|---|---|
Operation | Tak | Musi mieć wartość VerifyCode |
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 |
---|---|---|
UserMessageIfChallengeExpired | Komunikat wyświetlany użytkownikowi, jeśli sesja weryfikacji kodu wygasła. Kod wygasł lub kod nigdy nie został wygenerowany dla danego identyfikatora. | |
UserMessageIfInternalError | Komunikat o błędzie użytkownika, jeśli serwer napotkał błąd wewnętrzny. | |
UserMessageIfThrottled | Komunikat o błędzie użytkownika, jeśli żądanie zostało ograniczone. | |
UserMessageIfVerificationFailedNoRetry | Komunikat wyświetlany użytkownikowi, jeśli podano nieprawidłowy kod, a użytkownik nie może podać poprawnego kodu. | |
UserMessageIfVerificationFailedRetryAllowed | Komunikat wyświetlany użytkownikowi, jeśli podano nieprawidłowy kod, a użytkownik może podać prawidłowy kod. |
Przykład: weryfikowanie kodu
W poniższym przykładzie pokazano profil techniczny samoobsługowego resetowania hasła firmy Microsoft używany do weryfikowania kodu.
<TechnicalProfile Id="AadSspr-VerifyCode">
<DisplayName>Verify Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">VerifyCode</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="verificationCode" PartnerClaimType="verificationCode" />
<InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/>
</InputClaims>
</TechnicalProfile>