Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Utilizzo di token OAuth di terze parti
Consulta Utilizzo di 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. 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. 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 un solo URI nel parametro redirect_uri
.
Se l'URI di reindirizzamento corrisponde a uno degli URI specificati nel campo URL di callback nell'interfaccia utente dell'app per sviluppatori,
la richiesta andrà a buon fine.
Modifica del comportamento di restituzione predefinito 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.
Un modo per realizzare questo caso d'uso è impostare la proprietà
GenerateResponse della policy OAuthV2 su false
.
Utilizza il criterio ExtractVariable per ottenere il valore del codice di autorizzazione dalla variabile
oauthv2authcode.{policy_name}.code
. Dopodiché, puoi utilizzare il criterio
AssignMessage
per restituire il codice in un payload JSON con stato 200.
Audit del consenso dell'utente finale dell'app
Potrebbe essere necessario verificare che un utente finale dell'app abbia autorizzato un'app. A questo scopo, puoi utilizzare l'API Apigee Audit.
Esempio di OAuth in uscita
Consulta l'esempio outbound-oauth nel repository api-platform-samples di Apigee su GitHub. Puoi clonare l'esempio, eseguirne il deployment e avviarlo. Questo esempio utilizza l'API Microsoft Azure Translator per tradurre i tweet. A questo scopo, effettua una chiamata in uscita per ottenere un token di accesso OAuth e poi memorizza nella cache il token utilizzando le norme 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 dimostrativa utilizzata per richiamare il proxy API.