Argomenti avanzati OAuth 2.0

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Utilizzo di token OAuth di terze parti

Consulta Utilizzo di token OAuth di terze parti.

Specificare più URL di callback

Se utilizzi il tipo di concessione del codice di autorizzazione, devi specificare un URL di callback al momento della registrazione dell'app sviluppatore. In genere, l'URL di callback 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 deve 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 Richiedere token di accesso e codici di autorizzazione.

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 è registrata un'app per sviluppatori. Per questo caso d'uso, puoi specificare un URL di callback vuoto quando registri un'app per sviluppatori e poi inserire una logica in un criterio JavaScript per convalidare gli URI di reindirizzamento in entrata.

Modifica del comportamento restituito predefinito di un'operazione generateAuthCode

Per impostazione predefinita, l'operazione CreateAuthCode 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.

Per questo caso d'uso, utilizza un criterio ExtractVariable per recuperare il codice e un criterio AssegnaMessage per restituire il codice in un payload JSON con 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 Apigee Edge.

Esempio OAuth in uscita

Consulta l'esempio di outbound-oauth nel repository Apigee api-platform-samples su GitHub. Puoi clonare il campione, eseguirne il deployment ed eseguirlo. In questo esempio viene utilizzata l'API Microsoft Azure traduttore 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. Inoltre, include un'app browser dimostrativa utilizzata per richiamare il proxy API.