Loading

Migrazione di base dal flusso nome utente/password OAuth al flusso credenziali client

Data pubblicazione: Mar 31, 2026
Descrizione

 

Si sta utilizzando il flusso nome utente-password OAuth per autorizzare il client e si desidera eseguire la migrazione a un flusso più sicuro. A questo punto si è arrivati.

 

Nota: il flusso credenziali client non supporta le chiamate a login.salesforce.com o test.salesforce.com. Se si utilizza uno di questi domini host, per ogni insieme di credenziali nome utente-password del client, aggiornare il codice in modo che utilizzi il dominio corretto per l'organizzazione corrispondente. Anziché login.salesforce.com, passare all'URL di accesso di Dominio personale dell'organizzazione, ad esempio https://MyCompany.my.salesforce.com. Anziché test.salesforce.com, utilizzare l'URL di accesso di Dominio personale del Sandbox, ad esempio https://MyDomainName--SandboxName.sandbox.my.salesforce.com

 

Nota: Se il client sta utilizzando più nomi utente in un'unica organizzazione, non è possibile eseguire la migrazione al flusso credenziali client. Si consiglia di eseguire la migrazione al flusso bearer JWT OAuth per i casi d'uso che interessano più nomi utenti della stessa organizzazione. Se il client accetta direttamente un nome utente e una password da parte dell'utente, si consiglia di eseguire la migrazione ai flussi OAuth con intestazione, ad esempio il flusso server Web, o passare alle API di autenticazione headless (solo per i casi d'uso di Experience Cloud).

Risoluzione
 

Primo passaggio: aggiornamento delle impostazioni lato sviluppatore nell'applicazione connessa

Accedere all'organizzazione che ospita l'applicazione connessa. Da Imposta, nella casella Ricerca veloce, immettere App e selezionare Gestore app. Nel menu a discesa accanto all'app, selezionare Modifica. Verrà visualizzata una pagina come questa:

Selezionare Abilita flusso credenziali client e accettare l'avviso visualizzato:

 

Questa operazione viene eseguita una sola volta. Come indicato nel messaggio che appare al salvataggio, possono trascorrere alcuni minuti prima che la modifica sia propagata prima di poter iniziare il passaggio 2.

Secondo passaggio: Aggiornamento delle impostazioni lato gestione nell'applicazione connessa

Completare questo passaggio per ogni organizzazione in cui si utilizza il flusso nome utente-password OAuth. Per ogni insieme di credenziali nome utente-password del client, è necessario modificare le policy lato gestione nell'organizzazione corrispondente.

 

Accedere all'organizzazione come amministratore. Da Imposta, nella casella Ricerca veloce, immettere App e selezionare Gestore app. Nel menu a discesa accanto all'app, selezionare Gestisci e fare clic su Modifica criteri. Viene visualizzata una pagina simile a questa:

 

Nella sezione Flusso credenziali client, utilizzare il campo di ricerca per Esegui come per cercare nell'organizzazione l'utente il cui nome utente viene utilizzato con il flusso nome utente-password OAuth.

 

Ad esempio, se il client in precedenza utilizzava il flusso nome utente-password OAuth con il nome utente test@example1.com, individuare l'utente dell'organizzazione con nome utente test@example1.com.

 

Selezionare l'utente e fare clic su Salva.

 

Ripetere questi passaggi per ogni organizzazione in cui il client ha un set di credenziali nome utente e password

Terzo passaggio: aggiornare il codice del client

Per aggiornare la chiamata del client nel flusso nome utente-password OAuth corrente in modo da utilizzare il flusso di credenziali client OAuth, aggiornare il corpo della richiesta. Se applicabile, modificare anche il dominio host.

 

Ad esempio, laddove il client sta effettuando una richiesta POST simile a questa:

 
POST /services/oauth2/token HTTP/1.1Host: foo.my.salesforce.com  grant_type=password&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&client_secret=1955279925675241571&username=testuser@salesforce.com&password=mypassword
 

Effettuare una richiesta POST come questa:

 
POST /services/oauth2/token HTTP/1.1Host: foo.my.salesforce.com  grant_type=client_credentials&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&client_secret=1955279925675241571
 

Il formato della risposta è direttamente confrontabile tra i flussi.

 

Il flusso credenziali client non supporta le chiamate a login.salesforce.com o test.salesforce.com. Se si utilizza uno di questi domini host, per ogni insieme di credenziali nome utente-password del client, aggiornare il codice in modo che utilizzi il dominio corretto per l'organizzazione corrispondente. Anziché login.salesforce.com, passare all'URL di accesso di Dominio personale dell'organizzazione, ad esempio https://MyCompany.my.salesforce.com. Anziché test.salesforce.com, utilizzare l'URL di accesso di Dominio personale del Sandbox, ad esempio https://MyDomainName--SandboxName.sandbox.my.salesforce.com.



 

Nota: si consiglia di passare tutti i dati nel corpo POST. In particolare, non passare il segreto client nella stringa di query della richiesta POST. I segreti devono sempre essere passati come parti del corpo POST. Il passaggio di informazioni sensibili nella stringa di query può causare una perdita di informazioni per gli intermediari di rete e altri servizi.

 

Ulteriori documenti su questi flussi sono disponibili qui (per nome utente-password) e qui (per credenziali client).

 

Nota: i token di accesso risultanti sono leggermente diversi tra i flussi. Il token restituito dal flusso di credenziali client deve essere più conforme agli standard OAuth.


 
Numero articolo Knowledge

000886201

 
Caricamento
Salesforce Help | Article