Azure Active Directory B2C özel ilkesinde OAuth2 özel hata teknik profili tanımlama
Bu makalede, Azure Active Directory B2C (Azure AD B2C) ile OAuth2 özel hatasını işleme açıklanmaktadır. İlkenizde bir mantık yanlış giderse bu teknik profili kullanın. Teknik profil, OAuth2 veya OpenId Connect bağlı olan taraf uygulamanızda hata döndürür. OAuth2 özel hata teknik profilinin Canlı tanıtımını gözden geçirin.
Özel OAuth2 hata iletisini işlemek için:
- Bir OAuth2 hata teknik profili tanımlayın.
- Hata kodunu ve hata iletisi taleplerini ayarlayın.
- Kullanıcı yolculuğundan OAuth2 hata teknik profilini çağırın.
OAuth2 hatası
Hata aşağıdaki verilerle döndürülr:
- Hata -
access_denied
- error_description - kuralını
AAD_Custom_<errorCode>: <errorMessage>
kullanan hata iletisi. - Bağıntı Kimliği - Azure AD B2C bağıntı kimliği.
- Zaman damgası - Hatanın zaman damgası.
Aşağıdaki örnekte uygulamaya özel bir hata iletisi döndürülmesi gösterilmektedir https://jwt.ms :
https://jwt.ms/#error=access_denied&error_description=AAD_Custom_1234%3a+My+custom+error+message%0d%0aCorrelation+ID%3a+233bf9bd-747a-4800-9062-6236f3f69a47%0d%0aTimestamp%3a+2021-03-25+14%3a01%3a23Z%0d%0a
Protokol
Protocol öğesinin Name özniteliği olarak ayarlanmalıdırOAuth2
. OutputTokenFormat öğesini olarak OAuth2Error
ayarlayın.
Aşağıdaki örnekte için ReturnOAuth2Error
bir teknik profil gösterilmektedir:
<!--
<ClaimsProviders> -->
<ClaimsProvider>
<DisplayName>Token Issuer</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="ReturnOAuth2Error">
<DisplayName>Return OAuth2 error</DisplayName>
<Protocol Name="OAuth2" />
<OutputTokenFormat>OAuth2Error</OutputTokenFormat>
<CryptographicKeys>
<Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
</CryptographicKeys>
<InputClaims>
<InputClaim ClaimTypeReferenceId="errorCode" />
<InputClaim ClaimTypeReferenceId="errorMessage" />
</InputClaims>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
<!--
</ClaimsProviders> -->
Giriş talepleri
InputClaims öğesi, OAuth2 hatası döndürmek için gereken taleplerin listesini içerir.
ClaimReferenceId | Gerekli | Açıklama |
---|---|---|
errorCode | Yes | Hata kodu. |
errorMessage | Yes | Hata iletisi. |
Şifreleme anahtarları
CryptographicKeys öğesi aşağıdaki anahtarı içerir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
issuer_secret | Yes | X509 sertifikası (RSA anahtar kümesi). B2C_1A_TokenSigningKeyContainer Özel ilkeleri kullanmaya başlama bölümünde yapılandırdığınız anahtarı kullanın. |
Teknik profili çağırma
Bir kullanıcı yolculuğundan veya alt yolculuktan (türü) transfer
OAuth2 hata teknik profilini çağırabilirsiniz. OAuth2 hata teknik profilinize bir başvuru ile düzenleme adımı türünü SendClaims
olarak ayarlayın.
Kullanıcı yolculuğunuzda veya alt yolculuğunuzda zaten başka bir SendClaims
düzenleme adımı varsa, özniteliğini belirteç veren teknik profiline ayarlayın DefaultCpimIssuerTechnicalProfileReferenceId
.
Aşağıdaki örnekte:
- Kullanıcı yolculuğu
SignUpOrSignIn-Custom
,DefaultCpimIssuerTechnicalProfileReferenceId
belirteci veren teknik profiliJwtIssuer
olarak ayarlar. - Sekizinci düzenleme adımı, öğesinin
errorCode
mevcut olup olmadığını denetler. Evet ise, hatayı döndürmekReturnOAuth2Error
için teknik profili çağırın. - Yoksa
errorCode
, dokuzuncu düzenleme adımı belirteci düzenler.
<UserJourney Id="SignUpOrSignIn-Custom" DefaultCpimIssuerTechnicalProfileReferenceId="JwtIssuer">
<OrchestrationSteps>
...
<OrchestrationStep Order="8" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="ReturnOAuth2Error">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="false">
<Value>errorCode</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
</OrchestrationStep>
<OrchestrationStep Order="9" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
</OrchestrationSteps>
<ClientDefinition ReferenceId="DefaultWeb" />
</UserJourney>
Sonraki adımlar
UserJourneys hakkında bilgi edinin