Condividi tramite


Configurare l'iscrizione e l'accesso con un account Salesforce usando Azure Active Directory B2C

Importante

A partire dal 1° maggio 2025, Azure AD B2C non sarà più disponibile per l'acquisto per i nuovi clienti. Altre informazioni sono disponibili nelle domande frequenti.

Prima di iniziare, utilizza il selettore Scegli un tipo di criterio nella parte superiore di questa pagina per scegliere il tipo di criterio che si sta configurando. Azure Active Directory B2C offre due metodi per definire il modo in cui gli utenti interagiscono con le applicazioni: tramite flussi utente predefiniti o tramite criteri personalizzati completamente configurabili. I passaggi necessari in questo articolo sono diversi per ogni metodo.

Annotazioni

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.

Prerequisiti

Creare un'applicazione Salesforce

Per abilitare l'accesso per gli utenti con un account Salesforce in Azure Active Directory B2C (Azure AD B2C), è necessario creare un'applicazione in Salesforce App Manager. Per altre informazioni, vedere Configurare le impostazioni di base dell'app connessa e Abilitare le impostazioni OAuth per l'integrazione dell'API

  1. Accedere a Salesforce.
  2. Dal menu, selezionare Setup.
  3. Espandere App e quindi Selezionare Gestione app.
  4. Selezionare Nuova app connessa.
  5. In Informazioni di base immettere:
    1. Nome app connessa : il nome dell'app connessa viene visualizzato in Gestione app e nel riquadro App Launcher. Il nome deve essere univoco all'interno dell'organizzazione.
    2. Nome API
    3. Indirizzo email di contatto - Email di contatto per Salesforce
  6. In API (Abilita impostazioni OAuth) selezionare Abilita impostazioni OAuth
    1. Per l'URL di callback inserire https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. Se si usa un dominio personalizzato, immettere https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Sostituire your-tenant-name con il nome del tenant e your-domain-name con il dominio personalizzato. È necessario usare tutte le lettere minuscole quando si immette il nome del tenant anche se il tenant è definito con lettere maiuscole in Azure AD B2C.
    2. In Ambiti OAuth selezionati selezionare Accedi al servizio URL di identità (id, profilo, posta elettronica, indirizzo, telefono) e Consenti l'accesso all'identificatore univoco (openid).In the Selected OAuth Scopes, select Access the identity URL service (id, profile, email, address, phone), and Allow access to your unique identifier (openid).
    3. Selezionare Richiedi segreto per il flusso del server Web.
  7. Seleziona Configura token ID
    1. Impostare il token valido per 5 minuti.
    2. Selezionare Includi attestazioni standard.
  8. Fare clic su Salva.
  9. Copiare i valori di Consumer Key e Consumer Secret. Saranno necessari entrambi per configurare Salesforce come provider di identità nel tuo tenant. Il segreto client è una credenziale di sicurezza importante.

Configurare Salesforce come fornitore di identità

  1. Se si dispone dell'accesso a più tenant, selezionare l'icona Impostazioni nel menu superiore per passare al tenant di Azure AD B2C dal menu Directory + sottoscrizioni.

  2. Scegliere Tutti i servizi nell'angolo in alto a sinistra del portale di Azure e quindi cercare e selezionare Azure AD B2C.

  3. Seleziona Provider di identità, e quindi seleziona Nuovo provider OpenID Connect.

  4. Immettere un nome. Ad esempio, immettere Salesforce.

  5. Per URL dei metadati immettere l'URL del documento Configurazione di Salesforce OpenID Connect. Per una sandbox, login.salesforce.com viene sostituito con test.salesforce.com. Per una community, login.salesforce.com viene sostituito con l'URL della community, ad esempio username.force.com/.well-known/openid-configuration. L'URL deve essere HTTPS.

    https://login.salesforce.com/.well-known/openid-configuration
    
  6. Per l'ID cliente , immettere l'ID dell'applicazione registrato in precedenza.

  7. Per segreto del client, inserire il segreto del client registrato in precedenza.

  8. Per l'Ambito, immettere il openid id profile email.

  9. Lasciare i valori predefiniti per Tipo di risposta e Modalità risposta.

  10. (Opzionale) Per il suggerimento di dominio, inserire contoso.com. Per altre informazioni, vedere Configurare l'accesso diretto tramite Active Directory B2C.

  11. Sotto Mapping delle rivendicazioni del provider di identità, selezionare le seguenti rivendicazioni:

    • ID utente: sub
    • Nome visualizzato: nome
    • Nome specificato: given_name
    • Cognome: family_name
    • Posta elettronica: posta elettronica
  12. Seleziona Salva.

Aggiungere il provider di identità Salesforce nel flusso utente

A questo punto, il provider di identità Salesforce è stato configurato, ma non è ancora disponibile su nessuna pagina di accesso. Per aggiungere un provider di identità Salesforce a un flusso utente:

  1. Nel tenant di Azure AD B2C selezionare Flussi utente.
  2. Fare clic sul flusso utente a cui si desidera aggiungere il provider di identità Salesforce.
  3. In Provider di identità social selezionare Salesforce.
  4. Seleziona Salva.
  5. Per testare la politica, selezionare Esegui flusso utente.
  6. In Applicazione selezionare l'applicazione Web denominata testapp1 registrata in precedenza. L'URL di risposta dovrebbe mostrare https://jwt.ms.
  7. Selezionare il pulsante Esegui flusso utente.
  8. Nella pagina di iscrizione o accesso selezionare Salesforce per accedere con l'account Salesforce .

Se il processo di accesso ha esito positivo, il browser viene reindirizzato a https://jwt.ms, che visualizza il contenuto del token restituito da Azure AD B2C.

Creare una chiave dei criteri

È necessario archiviare il segreto client registrato in precedenza nel tenant di Azure AD B2C.

  1. Accedi al portale di Azure.
  2. Se si dispone dell'accesso a più tenant, selezionare l'icona Impostazioni nel menu superiore per passare al tenant di Azure AD B2C dal menu Directory + sottoscrizioni.
  3. Scegliere Tutti i servizi nell'angolo in alto a sinistra del portale di Azure e quindi cercare e selezionare Azure AD B2C.
  4. Nella pagina Panoramica selezionare Identity Experience Framework.
  5. Selezionare Chiavi dei criteri e quindi selezionare Aggiungi.
  6. Per Opzioni scegliere Manual.
  7. Immettere un nome per la chiave della politica. Ad esempio: SalesforceSecret. Il prefisso B2C_1A_ viene aggiunto automaticamente al nome della chiave.
  8. In Segreto immettere il segreto client registrato in precedenza.
  9. Per Utilizzo chiave selezionare Signature.
  10. Clicca su Crea.

Configurare Salesforce come fornitore di identità

Per consentire agli utenti di accedere usando un account Salesforce, è necessario definire l'account come provider di attestazioni con cui Azure AD B2C può comunicare tramite un endpoint. L'endpoint fornisce un set di attestazioni usate da Azure AD B2C per verificare che un utente specifico sia stato autenticato.

È possibile definire un account Salesforce come provider di attestazioni aggiungendolo all'elemento ClaimsProviders nel file di estensione della policy.

  1. Aprire il TrustFrameworkExtensions.xml.

  2. Trova l'elemento ClaimsProviders. Se non esiste, aggiungerlo sotto l'elemento radice.

  3. Aggiungere un nuovo ClaimsProvider come segue:

    <ClaimsProvider>
      <Domain>salesforce.com</Domain>
      <DisplayName>Salesforce</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Salesforce-OpenIdConnect">
          <DisplayName>Salesforce</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://login.salesforce.com/.well-known/openid-configuration</Item>
            <Item Key="response_types">code</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid id profile email</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">0</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">Your Salesforce application ID</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_SalesforceSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="salesforce.com" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Il METADATA è impostato sull'URL della documentazione di configurazione di Salesforce OpenID Connect. Per una sandbox, login.salesforce.com viene sostituito con test.salesforce.com. Per una community, login.salesforce.com viene sostituito con l'URL della community, ad esempio username.force.com/.well-known/openid-configuration. L'URL deve essere HTTPS.

  5. Impostare client_id sull'ID applicazione dalla registrazione dell'app.

  6. Salva il file.

Aggiungere un percorso utente

A questo punto, il fornitore dell'identità è stato configurato, ma non è ancora disponibile in nessuna delle pagine di accesso. Se non si ha un percorso utente personalizzato, creare un duplicato di un percorso utente modello esistente, altrimenti continuare con il passaggio successivo.

  1. Aprire il fileTrustFrameworkBase.xml dallo starter pack.
  2. Trovare e copiare l'intero contenuto dell'elemento UserJourney che include Id="SignUpOrSignIn".
  3. Aprire il TrustFrameworkExtensions.xml e trovare l'elemento UserJourneys . Se l'elemento non esiste, aggiungerne uno.
  4. Incollare l'intero contenuto dell'elemento UserJourney copiato come elemento figlio dell'elemento UserJourneys .
  5. Rinominare l'ID del percorso utente. Ad esempio: Id="CustomSignUpSignIn".

Aggiungere il fornitore di identità a un percorso dell'utente

Dopo aver creato un percorso utente, aggiungere il nuovo provider di identità al percorso utente. Aggiungere prima un pulsante di accesso, quindi collegare il pulsante a un'azione. L'azione è il profilo tecnico creato in precedenza.

  1. Trovare l'elemento del passaggio di orchestrazione che include Type="CombinedSignInAndSignUp"o Type="ClaimsProviderSelection" nel percorso utente. In genere è il primo passaggio di orchestrazione. L'elemento ClaimsProviderSelections contiene un elenco di provider di identità con cui un utente può accedere. L'ordine degli elementi controlla l'ordine dei pulsanti di accesso presentati all'utente. Aggiungere un elemento XML ClaimsProviderSelection . Impostare il valore di TargetClaimsExchangeId su un nome amichevole.

  2. Nel passaggio di orchestrazione successivo aggiungere un elemento ClaimsExchange . Impostare ID sul valore dell'ID di scambio di attestazioni di destinazione. Aggiornare il valore di TechnicalProfileReferenceId sull'ID del profilo tecnico creato in precedenza.

Il codice XML seguente illustra i primi due passaggi di orchestrazione di un percorso utente con il provider di identità:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="SalesforceExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="SalesforceExchange" TechnicalProfileReferenceId="Salesforce-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

Configurare i criteri della relying party

I criteri della relying party, ad esempio SignUpSignIn.xml, specificano il percorso utente che verrà eseguito da Azure AD B2C. Trovare l'elemento DefaultUserJourney all'interno della relying party. Aggiorna ReferenceId affinché corrisponda all'ID del percorso utente in cui hai aggiunto il provider di identità.

Nell'esempio seguente, per il CustomSignUpSignIn percorso utente, ReferenceId è impostato su CustomSignUpSignIn:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Caricare i criteri personalizzati

  1. Accedi al portale di Azure.
  2. Selezionare l'icona Directory e sottoscrizione nella barra degli strumenti del portale e quindi selezionare la directory che contiene il tenant di Azure AD B2C.
  3. Nel portale di Azure cercare e selezionare Azure AD B2C.
  4. Sotto Politiche, selezionare Identity Experience Framework.
  5. Selezionare Carica criteri personalizzati e quindi caricare i due file di criteri modificati, nell'ordine seguente: il criterio di estensione, ad esempio TrustFrameworkExtensions.xml, quindi il criterio della parte fiduciante, come SignUpSignIn.xml.

Metti alla prova la tua politica personalizzata.

  1. Seleziona i criteri della tua parte fidata, ad esempio B2C_1A_signup_signin.
  2. In Applicazione selezionare un'applicazione Web registrata in precedenza. L'URL di risposta dovrebbe mostrare https://jwt.ms.
  3. Selezionare il pulsante Esegui adesso .
  4. Nella pagina di iscrizione o accesso selezionare Salesforce per accedere con l'account Salesforce .

Se il processo di accesso ha esito positivo, il browser viene reindirizzato a https://jwt.ms, che visualizza il contenuto del token restituito da Azure AD B2C.

Passaggi successivi

Informazioni su come passare il token Salesforce all'applicazione.