Condividi tramite


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 L'identificatore dell'attestazione del provider di identità.
ProviderName No Nome del provider di identità.
request_token_endpoint L'URL dell'endpoint del token richiesta come per RFC 5849.
authorization_endpoint L'URL dell'endpoint di autorizzazione come per RFC 5849.
access_token_endpoint 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 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: