Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Utilizzo di token OAuth di terze parti
Vedi Using Third-Party OAuth Tokens.
Designazione di più URL di callback
Quando utilizzi il tipo di concessione del codice di autorizzazione, devi specificare un URL di callback quando registri l'app per sviluppatori. L'URL di callback in genere specifica l'URL di un'app designata per ricevere un codice di autorizzazione per conto dell'app client. Inoltre, questa stringa URL viene utilizzata per la convalida. Il client è tenuto a inviare questo URL ad Apigee Edge quando richiede codici di autorizzazione e token di accesso e il parametro redirect_uri deve corrispondere a quello registrato. Vedi anche Richiesta di token di accesso e codici di autorizzazione codici.
Ad esempio:
http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc
Esiste un caso d'uso per specificare più URL di callback in una singola applicazione proxy. Ad esempio, potresti voler eseguire l'autenticazione per più domini. Ad esempio:
- http://myexample.com/callback
- http://myexample.uk/callback
- http://myexample.ja/callback
Edge non supporta la specifica di più URL di callback o l'utilizzo di caratteri jolly quando viene registrata un'app per sviluppatori. Per eseguire questo caso d'uso, puoi specificare un URL di callback vuoto quando registri un'app per sviluppatori, quindi inserisci una logica in un criterio JavaScript per convalidare gli URI di reindirizzamento in entrata.
Modifica del comportamento di restituzione predefinito di un'operazione GenerateAuthCode
Per impostazione predefinita, l'operazione GenerateAuthCode del criterio OAuthV2 restituisce un reindirizzamento 302 all' URL di callback 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 eseguire questo caso d'uso è impostare la proprietà GenerateResponse del criterio OAuthV2
su false.
Utilizza il criterio ExtractVariable per recuperare il valore del codice di autorizzazione dalla variabile
oauthv2authcode.{policy_name}.code. Poi, puoi utilizzare il
criterio AssignMessage
per restituire il codice in un payload JSON con uno stato 200.
Controllo del consenso dell'utente finale dell'app
Potrebbe essere necessario verificare che un utente finale dell'app abbia autorizzato un'app. Puoi utilizzare l'API Apigee Edge Audit per farlo.
Esempio di OAuth in uscita
Consulta l'esempio outbound-oauth nel repository Apigee api-platform-samples su GitHub. Puoi clonare, eseguire il deployment ed eseguire l'esempio. 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, 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. Include anche un'app browser dimostrativa utilizzata per richiamare il proxy API.