Loading
Identificazione degli utenti e gestione degli accessi
Sommario
Seleziona filtri

          Nessun risultato
          Nessun risultato
          Ecco alcuni suggerimenti per la ricerca

          Controlla l'ortografia delle parole chiave.
          Usa termini di ricerca più generici.
          Seleziona meno filtri per ampliare la tua ricerca.

          Cerca in tutta la Guida di Salesforce
          Flusso del token utente-agente ibrido OAuth 2.0 per la gestione delle sessioni Web

          Flusso del token utente-agente ibrido OAuth 2.0 per la gestione delle sessioni Web

          Utilizzare il flusso del token utente-agente ibrido OAuth 2.0 per fornire alle app ibride la gestione diretta delle sessioni Web. Quando il server di autorizzazione concede un token di accesso, il server include gli ID sessione (SID) dei domini richiesti nella risposta. Dopo l'autorizzazione, l'app ibrida può impostare i cookie Lightning, Visualforce e di dominio di contenuti e collegare un token di accesso in una sessione Web, offrendo un servizio senza interruzioni.

          Versioni (Edition) richieste

          Disponibile in: Salesforce Classic e Lightning Experience
          Disponibile in: tutte le versioni
          Nota
          Nota Mobile SDK 9.1 supporta i flussi dell'app ibrida OAuth 2.0.

          Il flusso del token utente-agente ibrido segue gli stessi passaggi di autorizzazione utilizzati nel flusso utente-agente, con l'eccezione che il flusso del token utente-agente ibrido utilizza hybrid_token come tipo di grant. Ad esempio, si compila un'app ibrida per il reparto vendite per accedere alle informazioni mentre si lavora fuori sede, incluso un cruscotto digitale che tiene traccia dei principali clienti potenziali. L'app implementa il flusso del token utente-agente ibrido, che segue queste fasi.

          • Per integrare l'app ibrida con l'API Salesforce, creare un'app client esterna. Abilitare le impostazioni OAuth e assegnare i seguenti ambiti OAuth all'app client esterna:
            • lightning
            • content
            • refresh_token
            • visualforce
            • web
          • L'utente finale apre l'app e viene indirizzato a Salesforce per autenticare e autorizzare l'app.
          • Dopo che l'utente ha approvato l'accesso per questo flusso di autorizzazione, l'app client esterna riceve la richiamata da Salesforce all'URL di reindirizzamento, che estrae i token di accesso e aggiornamento. Sono inclusi anche i SID Visualforce, Lightning e del contenuto dei rispettivi domini, oltre ai cookie di sessione che consentono all'app di collegare direttamente una sessione Web.
          • L'app imposta i cookie di sessione Lightning, Visualforce e dei domini di contenuti e collega un token di accesso in una sessione Web.
          • L'utente può accedere al cruscotto digitale dei principali clienti potenziali senza sessioni interrotte.

          Di seguito sono riportate in dettaglio le fasi del flusso dell'app ibrida OAuth 2.0.

          • Creare un'app client esterna per l'app ibrida.
          • L'app reindirizza gli utenti all'endpoint di autorizzazione.
          • L'utente esegue l'autenticazione e viene autorizzato l'accesso.
          • Salesforce concede il token di accesso e gli ambiti richiesti.
            Nota
            Nota Il flusso utente-agente ibrido può emettere solo token di accesso opachi. Non supporta i token di accesso basati su JWT.
          • L'app imposta direttamente i SID nei cookie di sessione dei domini e collega una sessione Web.

          Reindirizzamento all'endpoint di autorizzazione

          Per ottenere l'autorizzazione di un utente per accedere ai dati Salesforce, l'app reindirizza l'utente all'endpoint di autorizzazione. Di seguito è riportato un esempio di reindirizzamento HTTP.

          https://login.salesforce.com/services/oauth2/authorize?response_type=hybrid_token&
          client_id=3MVG9lKcPoNINVBIPJjdw1J9LLJbP_pqwoJYyuisjQhr_LLurNDv7AgQvDTZwCoZuDZrXcPCmBv4o.8ds.5iE&
          redirect_uri=https%3A%2F%2Flogin.salesforce.com%2Fservices%2Foauth2%2Fsuccess&scope=web%20visualforce%20refresh_token%20lightning%20content
          

          Includere i seguenti parametri nell'URL.

          Parametro Descrizione
          Endpoint di autorizzazione OAuth 2.0 Endpoint di autorizzazione OAuth 2.0 dell'istanza di Salesforce. Le app client esterne inviano le richieste di autorizzazione OAuth a questo endpoint.
          client_id Chiave consumatore dell'app client esterna. Per accedere alla chiave consumatore, dal Gestore app client esterne, trovare l'app client esterna e selezionare Modifica impostazioni dall'elenco a discesa. Quindi espandere la sezione Impostazioni OAuth e fare clic su Chiave consumatore e segreto. Talvolta viene richiesto di verificare la propria identità prima di poter visualizzare la chiave consumatore.
          redirect_uri URL a cui vengono reindirizzati gli utenti quando l'autenticazione ha esito positivo. L'URI di reindirizzamento deve corrispondere a uno dei valori del campo URL di richiamata dell'app client esterna. In caso contrario, l'approvazione non riesce. L'URI di reindirizzamento è disponibile nella pagina Impostazioni OAuth dell'app client esterna. Questo valore deve essere codificato nell'URL.
          response_type Utilizzare il valore hybrid_token. È anche possibile utilizzare il valore token id_token, con l'ambito openid e un parametro nonce. Se si specifica token id_token, Salesforce restituisce un token ID nella risposta. Per maggiori informazioni, vedere Token e ambiti OAuth.

          Questi parametri sono facoltativi.

          Parametro Descrizione
          scope

          Autorizzazioni che definiscono il tipo di risorse protette a cui può accedere un'app client esterna. Gli ambiti vengono assegnati a un'app client esterna quando viene creata e vengono inclusi con i token OAuth durante il flusso di autorizzazione.

          Se non si include questo parametro, vengono richiesti tutti gli ambiti assegnati all'app client esterna. Gli ambiti passati in questo parametro devono essere un sottoinsieme degli ambiti registrati. Per i parametri validi, vedere Ambiti OAuth.

          Per questo flusso, assegnare l'ambito web all'app client esterna in modo che possa accedere a una sessione Web. L'ambito web è un prerequisito per l'utilizzo del flusso token utente-agente ibrido. Si consiglia inoltre di configurare l'app client esterna per l'accesso a questi ambiti.

          • content (richiede SID contenuto e dominio)
          • lightning (richiede SID Lightning e dominio)
          • visualforce (richiede SID Visualforce e dominio)
          • refresh_token (richiede sessioni rinnovate)
          state Qualsiasi stato di cui il servizio Web esterno richiede l'invio all'URL di richiamata. Questo valore deve essere codificato nell'URL.
          display

          Modifica il tipo di visualizzazione delle pagine di accesso e autorizzazione. Salesforce supporta i seguenti valori.

          • page: schermata di autorizzazione a pagina intera (impostazione predefinita).
          • popup: finestra di dialogo compatta ottimizzata per i moderni popup del browser Web.
          • touch: dialogo ottimizzato per dispositivi mobili progettato per i moderni dispositivi mobili, ad esempio Android e iPhone.
          • mobile: dialogo ottimizzato per dispositivi mobili progettato per i dispositivi meno potenti, ad esempio il sistema operativo BlackBerry 5.
          login_hint

          Fornisce un valore di nome utente valido per precompilare la pagina di accesso con il nome utente, ad esempio login_hint=username@company.com. Se un utente ha già una sessione attiva nel browser, il parametro login_hint non esegue alcuna operazione e la sessione utente attiva continua.

          Per passare il parametro login_hint per i siti Experience Cloud, passare anche il parametro prompt=login. Questi parametri reindirizzano l'utente alla pagina di accesso con il suggerimento per l'accesso corretto.

          nonce Utilizzare con l'ambito openid per richiedere un token ID utente. Il token ID utente viene restituito nella risposta. Questo parametro è facoltativo ma consente di rilevare gli attacchi replay.
          prompt

          Specifica in che modo il server di autorizzazione richiede la riautenticazione e la riapprovazione all'utente. Salesforce supporta i seguenti valori.

          • login — Il server di autorizzazione deve richiedere all'utente una nuova autenticazione, costringendolo ad accedere nuovamente.
          • consent: il server di autorizzazione deve richiedere all'utente la riapprovazione prima di restituire le informazioni al client.
          • select_account—Se presente, eseguire una di queste azioni.
            • Se 0 o 1 suggerimento è disponibile e l'utente ha effettuato l'accesso, mostra la pagina di approvazione senza richiedere l'accesso.
            • Se 0 o 1 suggerimento è disponibile e l'utente non ha effettuato l'accesso, richiede l'accesso.
            • Se è disponibile più di 1 suggerimento, mostra il selettore di account.

          È possibile passare i valori login e consent, separati da uno spazio, per richiedere all'utente di accedere e autenticarsi nuovamente. Ad esempio: ?prompt=login%20consent

          L'utente esegue l'autenticazione e viene autorizzato l'accesso

          L'utente accede a Salesforce con le proprie credenziali. Poiché l'utente interagisce direttamente con l'endpoint di autorizzazione, l' applicazione non vede mai le credenziali dell'utente.

          Pagina di accesso all'organizzazione Salesforce

          Eseguito l'accesso, Salesforce reindirizza gli utenti alla pagina di approvazione per concedere l'accesso all'applicazione.

          Salesforce concede il token di accesso e gli ambiti richiesti

          Dopo che un utente approva l'accesso all'app, Salesforce reindirizza l'utente all'URL di richiamata. Il reindirizzamento include il token di accesso concesso, i nomi di dominio richiesti, le sessioni di dominio e gli ambiti associati. L'app client esterna estrae il token e i parametri per accedere alle risorse limitate per conto dell'utente finale.

          Di seguito è riportato un esempio di richiamata dal server. La risposta segue un segno di hashtag (#) e non è sotto forma di parametri di query HTTP.

          https://www.customercontactinfo.com/user_callback.jsp#
          access_token=yourtokenhere&
          refresh_token=yourtokenhere&
          instance_url=https://yourInstance.salesforce.com/
          id=https://user.internal.salesforce.com/7443%2Fid%2F00Dxx0000006HM7EAM%2F005xx000001X8ErAAK&
          issued_at=1604004352722&
          signature=DcQ84..
          content_domain=MyDomainName.file.force.com&
          content_sid=00Dxx0000006Gb…&
          lightning_domain=MyDomainName.lightning.force.com&
          lightning_sid=00Dxx000000...&
          visualforce_domain=MyDomainName.file.force.com&
          visualforce_sid=00Dxx000000...&
          sidCookieName=sid&
          cookie-sid_Client=0000000...&
          cookie-clientSrc=10.xxx.xx.xx&
          csrf_token=eyJub...&
          scope=web+visualforce+refresh_token+lightning+content&
          token_type=Bearer
          

          La risposta dell'esempio contiene i parametri riportati di seguito, specificati dopo l'hashtag (#). L'URL di richiamata dell'app client esterna precede l'hashtag (#).

          Parametro Descrizione
          access_token Token OAuth utilizzato da un'applicazione client esterna per richiedere l'accesso a una risorsa protetta per conto dell'applicazione client. Al token di accesso possono essere abbinate altre autorizzazioni sotto forma di ambiti.
          refresh_token

          Token ottenuto dal flusso del token del server Web, utente-agente o dell'app ibrida. Questo valore è segreto. Adottare le misure appropriate per proteggerlo.

          Il token di aggiornamento per il flusso del token utente-agente ibrido viene emesso solo se è stata richiesta la scope=refresh_token e si verifica uno dei seguenti scenari.

          • L'URL di reindirizzamento utilizza un protocollo personalizzato.
          • L'host dell'URL di reindirizzamento corrisponde alla richiesta host e include il servlet services/oauth2/success. Ad esempio:
            • https://login.salesforce.com/services/oauth2/success
            • https://test.salesforce.com/services/oauth2/success
            • https://MyDomainName.my.salesforce.com/services/oauth2/success
            • https://MyDomainName.my.site.com/services/oauth2/success
          • L'URL di reindirizzamento è https://mobileauth.salesforce.com/oauth/done

          Il token di aggiornamento concesso in questo flusso è totalmente compatibile con il flusso del token di aggiornamento OAuth standard.

          instance_url URL che indica l'istanza dell'organizzazione dell'utente. Ad esempio: https://yourInstance.salesforce.com/.
          id URL identità che può essere utilizzato per identificare l'utente e per chiedere più informazioni sull'utente. Vedere URL identità.
          issued_at Indicazione oraria in millisecondi del momento in cui la firma è stata creata.
          signature Firma HMAC-SHA256 con codifica Base64 firmata con il client_secret. La firma può includere l'ID concatenato e il issued_at value, che è possibile utilizzare per verificare che l'URL identità non sia cambiato da quando il server lo ha inviato.
          scope

          Ambiti associati al token di accesso.

          Gli ambiti definiscono ulteriormente i tipi di risorse protette a cui può accedere il client. Gli ambiti vengono assegnati a un'app client esterna quando viene creata e vengono inclusi con i token OAuth durante il flusso di autorizzazione.

          Per i parametri validi, vedere Ambiti OAuth.

          content_domain

          Il dominio della sessione di contenuti mappato al SID di contenuti: MyDomainName.file.force.com → content_sid.

          Questo valore si riceve solo se si assegna l'ambito content.

          content_sid

          SID associati al dominio della sessione dei contenuti. Salesforce restituisce un SID univoco impostato dall'app ibrida direttamente nel cookie di sessione del dominio.

          Questo valore si riceve solo se si assegna l'ambito content.

          lightning_domain

          Dominio della sessione Lightning mappato al SID Lightning: MyDomainName.lightning.force.com → lightning_sid.

          Questo valore si riceve solo se si assegna l'ambito lightning.

          lightning_sid

          SID associati al dominio della sessione Lightning. Salesforce restituisce un SID univoco impostato dall'app ibrida direttamente nel cookie di sessione del dominio.

          Questo valore si riceve solo se si assegna l'ambito lightning.

          visualforce_domain

          Dominio della sessione Visualforce mappato al SID Visualforce: MyDomainName.vf.force.com → visualforce_sid.

          Questo valore si riceve solo se si assegna l'ambito visualforce.

          visualforce_sid

          SID associato al dominio della sessione Visualforce. Salesforce restituisce un SID univoco impostato dall'app ibrida direttamente nel cookie di sessione del dominio.

          Questo valore si riceve solo se si assegna l'ambito visualforce.

          token_type Tipo di token di Bearer, utilizzato per tutte le risposte che includono un token di accesso.
          csrf_token

          Token CSRF (Cross-site Request Forgery) per impedire gli attacchi durante le sessioni secondarie.

          Questo valore si riceve solo se si assegna l'ambito lightning.

          sidCookieName Il nome del cookie di sessione utilizzato dall'app ibrida per collegare direttamente una sessione Web. Il valore predefinito è sid.
             
          cookie-sid_Client Un cookie di sessione che rileva e impedisce la manomissione della sessione. Questo cookie di sessione consente all'app ibrida di collegare direttamente una sessione Web.
          cookie-clientSrc Un cookie di sessione utilizzato per le protezioni della sicurezza. Questo cookie di sessione consente all'app ibrida di collegare direttamente una sessione Web.

          La risposta può anche contenere questi parametri.

          Parametro Descrizione
          id_token

          Struttura di dati firmata che contiene gli attributi dell'utente autenticato, fra cui un identificativo univoco per l'utente e l'indicazione della data e dell'ora di emissione del token. Il token ID identifica inoltre l'app client richiedente. Vedere le specifiche di OpenID Connect.

          Questo parametro viene restituito se il parametro scope include openid.

          sfdc_site_url Se l'utente è membro di un sito Experience Cloud, viene fornito l'URL del sito.
          sfdc_site_id Se l'utente è membro di un sito Experience Cloud, viene fornito l'ID sito dell'utente.

          L'app imposta i SID di dominio e collega una sessione Web

          L'app ibrida imposta i SID associati dei domini nei cookie di sessione per collegare direttamente una sessione Web. Per alcuni esempi dei cookie impostati per ciascun dominio, vedere Gestione dei cookie del flusso dell'app ibrida OAuth 2.0.

          Per le implementazioni che reimpostano la divisione utente sugli oggetti per l'impostazione Ripristina divisione predefinita all'accesso, l'app ibrida deve collegare una implementazione utilizzando frontdoor.jsp. Per ulteriori informazioni, vedere Utilizzo di Frontdoor.jsp per collegare le sessioni in Salesforce. Per ulteriori informazioni sulle divisioni utente, vedere Organizzazione dei dati con le divisioni.

           
          Caricamento
          Salesforce Help | Article