Argomenti avanzati di OAuth 2.0

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Utilizzo di token OAuth di terze parti

Consulta Utilizzare i token OAuth di terze parti.

Designare più URI di reindirizzamento

Quando utilizzi il tipo di concessione del codice di autorizzazione, devi specificare un URI di reindirizzamento quando registri la tua app per sviluppatori. L'URI di reindirizzamento specifica l'URI di un'app designata per ricevere un codice di autorizzazione per conto dell'app client. Il client è tenuto a inviare questo URI ad Apigee quando richiede codici di autorizzazione e token e il parametro redirect_uri deve corrispondere a quello registrato. Consulta anche Ottenere 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 la specifica di più URI di reindirizzamento in una singola applicazione proxy. 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 URL di callback nell'interfaccia utente dell'app per sviluppatori. Ad esempio:

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

Tieni presente che la richiesta /authorize deve contenere solo un URI nel parametro redirect_uri. La richiesta andrà a buon fine se l'URI di reindirizzamento corrisponde a uno degli URI specificati nel campo URL di callback nell'interfaccia utente dell'app per sviluppatori.

Modifica del comportamento predefinito del valore restituito di un'operazione GenerateAuthCode

Per impostazione predefinita, l'operazione GenerateAuthCode del criterio OAuthv2 restituisce un reindirizzamento 302 all'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 una risposta 200 con JSON strutturato contenente il codice.

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

Controllo del consenso degli utenti finali dell'app

Potrebbe essere necessario verificare che un utente finale dell'app abbia autorizzato un'app. Per farlo, puoi utilizzare l'API Audit di Apigee.

Esempio di OAuth in uscita

Consulta l'esempio outbound-oauth nel repository api-platform-samples di Apigee su GitHub. Puoi clonare il sample, eseguirlo e ed eseguire il deployment. Questo esempio utilizza l'API Translator di Microsoft Azure per tradurre i tweet. A tale scopo, effettua una chiamata in uscita per ottenere un token di accesso OAuth, quindi memorizza il token nella cache utilizzando i criteri di memorizzazione nella cache dei servizi API, riutilizzando il token memorizzato nella cache ogni volta che viene effettuata una chiamata in uscita. Inoltre, include un'app browser di dimostrazione utilizzata per richiamare il proxy API.