Argomenti avanzati OAuth 2.0

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza documentazione di Apigee Edge.

Utilizzo di token OAuth di terze parti

Consulta la sezione Informazioni sull'uso Token OAuth.

Specificare più URI di reindirizzamento

Se utilizzi il tipo di concessione del codice di autorizzazione, devi specificare un URI di reindirizzamento quando registrare la tua app sviluppatore. L'URI di reindirizzamento specifica l'URI di un'app designati a ricevere un codice di autorizzazione per conto dell'app client. Il client deve inviare questo URI ad Apigee quando che richiede i codici di autorizzazione e i token e il parametro redirect_uri deve corrispondere registrato. Vedi anche Recuperare i token OAuth 2.0.

Ad esempio:

https://mydomain.com/authorize?\
client_id=123456&\
response_type=code&\
redirect_uri=https%3A%2F%2Fmydomain.com%2Fcallback&scope=scope1%20scope2&state=abc

Esiste un caso d'uso per specificare più URI di reindirizzamento in una singola applicazione proxy. Per Ad esempio, potresti voler eseguire l'autenticazione per più domini. Ad esempio:

  • https://mydomain.com/callback
  • https://mydomain.uk/callback
  • https://mydomain.ja/callback

Per specificare più URI di reindirizzamento nell'app per sviluppatori, aggiungili come elenco separato da virgole Nel campo Callback URL (URL di callback) nell'interfaccia utente dell'app sviluppatore. Ad esempio:

https://mydomain.com/callback,https://mydomain.uk/callback,https://mydomain.ja/callback

Tieni presente che la richiesta /authorize deve avere solo un URI nel parametro redirect_uri. Se l'URI di reindirizzamento corrisponde a uno degli URI specificati nel campo Callback URL (URL di callback) nell'interfaccia utente dell'app sviluppatore, la richiesta andrà a buon fine.

Modificare il reso predefinito comportamento di un'operazione generateAuthCode

Per impostazione predefinita, l'operazioneGenerateAuthCode del criterio OAuthv2 restituisce un 302 reindirizza al URI di reindirizzamento con un parametro di query ?code contenente il codice di autorizzazione.

In alcuni casi, potresti voler modificare questo comportamento. Ad esempio, potresti voler restituire un 200 con un file JSON strutturato contenente il codice.

Per realizzare questo caso d'uso, utilizza un criterio TakeoutVariables per recuperare il codice, e un CriterioAssignMessage per restituire il codice in un payload JSON con stato 200.

Controllo del consenso degli utenti finali dell'app

Potresti dover verificare che un'app sia autorizzata da un utente finale dell'app. Puoi usare la piattaforma Audit API per farlo.

Esempio di OAuth in uscita

Guarda l'esempio outbound-oauth nel repository api-platform-samples di Apigee su GitHub. Puoi clonare l'esempio, eseguirne il deployment eseguirlo. Questo esempio utilizza l'API Microsoft Azure Translator per tradurre i tweet. Per farlo, effettua una chiamata in uscita per ottenere un token di accesso OAuth e memorizza il token nella cache usando l'API Servizi di memorizzazione nella cache, riutilizzando il token memorizzato nella cache ogni volta che viene effettuata una chiamata in uscita. Inoltre, include un'app browser dimostrativa utilizzata per richiamare il proxy API.