Loading

Configura un provider di autenticazione in Azure AD B2C

Data pubblicazione: Feb 19, 2026
Descrizione
I provider di autenticazione OpenID Connect (OIDC) in Salesforce richiedono un endpoint info utente, ma Azure AD B2C non ne fornisce uno per impostazione predefinita, quindi sono necessarie alcune operazioni aggiuntive rispetto a quelle necessarie per impostare un provider di autenticazione Azure AD.

Nota: il provider di autenticazione Microsoft introdotto nel rilascio Summer '22 non può essere utilizzato per Azure AD B2C a causa dei diversi URL endpoint autorizzazione/token previsti.
Risoluzione

Passaggi per configurare un provider di autenticazione Azure AD BC

a) Come spiegato nell'articolo "Example: Configure an Azure AD Authentication Provider" (Esempio: configurare un provider di autenticazione Azure AD), creare una registrazione app nel tenant B2C e un provider di autenticazione in Salesforce. Impostare i seguenti parametri:

Chiave consumatore: ID (client) dell'applicazione come si vede nella pagina dei dettagli della registrazione app Azure AD B2C
Segreto consumatore: segreto client come configurato nella registrazione app Azure AD B2C
URL endpoint autorizzazione: https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
URL endpoint token: https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/oauth2/v2.0/token
Emittente token: https://yourtenant.b2clogin.com/<ID (tenant) della directory>/v2.0/
Ambiti predefiniti: ID (client) dell’applicazione come visibile nella pagina dei dettagli della registrazione app openid offline_access

A titolo di esempio, se l’ID app è 90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6, gli ambiti predefiniti dovrebbero essere 

90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 openid offline_access

Si noti che dovrebbe essere possibile vedere gli URL endpoint autorizzazione e token, l’emittente token e i reclami configurati all’indirizzo https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration.

b) Aggiornare l’URI di reindirizzamento o l’URL di richiamata nella propria registrazione app.

c) Abilitare l’endpoint UserInfo nella propria istanza di Azure AD B2C creando una policy personalizzata seguendo i passaggi citati nell’articolo UserInfo endpoint (Endpoint UserInfo).

Accertarsi la sezione InputClaims di UserInfoIssuer utilizzi i seguenti valori di PartnerClaimType:

  <InputClaims>
    <InputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
    <InputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
    <InputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
    <InputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="full_name" />
    <InputClaim ClaimTypeReferenceId="signInNames.emailAddress" PartnerClaimType="preferred_username" />
  </InputClaims>

e la sezione OutputClaims di UserInfoAuthorization sia come segue:

<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
  <OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" PartnerClaimType="email" />
  <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name"/>
  <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name"/>
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name"/>
</OutputClaims>

Si noti che https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration dovrebbe mostrare una nuova proprietà "userinfo_endpoint".

d) Aggiornare l’URL endpoint info utente nel Provider di autenticazione.

URL endpoint info utente: https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/openid/v2.0/userinfo

e) Creare un handler di registrazione

Si noti che il metodo createUser() verrà invocato se non esiste un record ThirdPartyAccountLink (TPAL) corrispondente per quella combinazione di utente e provider di autenticazione. Inoltre, per soddisfare lo scenario in cui l'utente è stato creato in Salesforce prima dell'impostazione del provider di autenticazione, assicurarsi che il metodo createUser() restituisca un record Utente esistente. Ulteriori informazioni su questo scenario sono disponibili qui.

f) In una finestra in incognito, testare il flusso SSO andando all'URL solo test del provider di autenticazione.


Risoluzione dei problemi

a) Assicurarsi che un endpoint info utente sia restituito da https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration. In caso contrario, rivedere i passaggi indicati qui.

b) Ottenere un token di accesso:

b.1) Andare all'URL solo test del provider di autenticazione. Si verrà reindirizzati all'endpoint di autorizzazione.
b.2) Accedere ad Azure B2C.
b.3) Ispezionate le richieste HTTP e ottenere il codice di autorizzazione. Questo sarà visibile nella risposta di questa richiesta GET:

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?client_id=<app-id>

b.4) Ora, ottenere un token di accesso inviando questa richiesta POST:

POST https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token HTTP/1.1

Tipo di contenuto: application/x-www-form-urlencoded

grant_type=authorization_code&
client_id=<app-id>&
client_secret=<client-secret>&
scope=<app-id> openid offline_access&
code=AwA...&
redirect_uri=<auth-provider-callback-url>

c) Ottenere dettagli UserInfo. Inviare una richiesta GET all'endpoint UserInfo utilizzando il token di accesso precedentemente ottenuto.

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/userinfo

Autorizzazione: Bearer <access-token>

d) Eseguire il debug dell’handler di registrazione per assicurarsi che confronti correttamente la richiesta di informazioni sull'utente di OpenId Connect con gli attributi dell'utente.
Numero articolo Knowledge

000393769

 
Caricamento
Salesforce Help | Article