Definire un profilo tecnico OAuth1 in un criterio personalizzato di Azure Active Directory B2C
Nota
In Azure Active Directory B2C i criteri personalizzati sono stati progettati principalmente per far fronte a scenari complessi. Per la maggior parte degli scenari, è consigliabile usare i flussi utente predefiniti. In caso contrario, vedere Introduzione ai criteri personalizzati in Active Directory B2C.
Azure Active Directory B2C (Azure AD B2C) fornisce il supporto per il provider di identità del protocollo OAuth 1.0. Questo articolo descrive le specifiche di un profilo tecnico per l'interazione con un provider di attestazioni che supporta questo protocollo standardizzato. Con un profilo tecnico OAuth1, è possibile eseguire la federazione con un provider di identità basato su OAuth1, ad esempio X. La federazione con il provider di identità consente agli utenti di accedere con le identità aziendali o di social networking esistenti.
Protocollo
L'attributo Nome dell'elemento Protocollo deve essere impostato su OAuth1
. Ad esempio, il protocollo per il profilo tecnico Twitter-OAUTH1 è OAuth1
.
<TechnicalProfile Id="Twitter-OAUTH1">
<DisplayName>X</DisplayName>
<Protocol Name="OAuth1" />
...
Attestazioni di input
Gli elementi InputClaims e InputClaimsTransformations sono vuoti o assenti.
Attestazioni di output
L'elemento OutputClaims contiene un elenco di attestazioni restituite dal provider di identità OAuth1. Può essere necessario eseguire il mapping del nome dell'attestazione definito nei criteri per il nome definito nel provider di identità. È anche possibile includere attestazioni che non sono restituite dal provider di identità purché siano impostate sull'attributo DefaultValue.
L'elemento OutputClaimsTransformations può contenere una raccolta di elementi OutputClaimsTransformation che vengono usati per modificare le attestazioni di output o per generarne di nuove.
L'esempio seguente mostra le attestazioni restituite dal provider di identità X:
- Attestazione user_id mappata all'attestazione issuerUserId .
- L'attestazione screen_name di cui si esegue il mapping per l'attestazione displayName.
- L'attestazione email senza eseguire il mapping del nome.
Il profilo tecnico restituisce anche le attestazioni che non vengono restituite dal provider di identità:
- L'attestazione identityProvider che contiene il nome del provider di identità.
- L'attestazione authenticationSource con un valore predefinito di
socialIdpAuthentication
.
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="user_id" />
<OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="screen_name" />
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="twitter.com" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
</OutputClaims>
Metadati UFX
Attributo | Obbligatorio | Descrizione |
---|---|---|
client_id | Sì | L'identificatore dell'attestazione del provider di identità. |
ProviderName | No | Nome del provider di identità. |
request_token_endpoint | Sì | L'URL dell'endpoint del token richiesta come per RFC 5849. |
authorization_endpoint | Sì | L'URL dell'endpoint di autorizzazione come per RFC 5849. |
access_token_endpoint | Sì | L'URL dell'endpoint token come per RFC 5849. |
ClaimsEndpoint | No | L'URL dell'endpoint di informazioni per l'utente. |
ClaimsResponseFormat | No | Il formato di risposta delle attestazioni. |
Chiavi crittografiche
L'elemento CryptographicKeys contiene l'attributo seguente:
Attributo | Obbligatorio | Descrizione |
---|---|---|
client_secret | Sì | Il segreto client dell'applicazione del provider di identità. |
URI di reindirizzamento
Quando si configura l'URI di reindirizzamento del provider di identità, immettere https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-id}/oauth1/authresp
. Assicurarsi di sostituire {tenant-name}
con il nome del tenant (ad esempio, contosob2c) e {policy-id}
con l'identificatore del criterio (ad esempio, b2c_1a_policy). L'URI di reindirizzamento deve essere tutto minuscolo. Aggiungere un URL di reindirizzamento per tutti i criteri che usano l'account di accesso del provider di identità.
Esempi: