OAuth 2.0 : sujets avancés

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Utiliser des jetons OAuth tiers

Consultez la page Utiliser des jetons OAuth tiers.

Concevoir plusieurs URL de rappel

Lorsque vous utilisez le type d'attribution du code d'autorisation, vous devez spécifier une URL de rappel lorsque vous enregistrez votre application de développeur. L'URL de rappel spécifie généralement l'URL d'une application conçue pour recevoir un code d'autorisation au nom de l'application cliente. En outre, cette chaîne d'URL est utilisée pour la validation. Le client doit envoyer cette URL à Apigee Edge lorsqu'il demande des codes d'autorisation et des jetons d'accès. Le paramètre redirect_uri doit correspondre à celui enregistré. Consultez également la page Demander des jetons d'accès et des codes d'autorisation.

Exemple :

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

Il existe un cas d'utilisation permettant de spécifier plusieurs URL de rappel dans une seule application proxy. Par exemple, vous pouvez vous authentifier pour plusieurs domaines. Exemples :

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

Edge ne permet pas de spécifier plusieurs URL de rappel ni d'utiliser des caractères génériques lorsqu'une application de développeur est enregistrée. Pour ce cas d'utilisation, vous pouvez spécifier une URL de rappel vide lorsque vous enregistrez une application de développeur, puis ajouter une logique dans une règle JavaScript pour valider les URI de redirection entrants.

Modifier le comportement de retour par défaut d'une opération GenerateAuthCode

Par défaut, l'opération GenerateAuthCode de la stratégie OAuthV2 renvoie une redirection 302 vers l'URL de rappel avec un paramètre de requête "?code" contenant le code d'autorisation.

Dans certains cas, vous pouvez modifier ce comportement. Par exemple, vous pouvez renvoyer une réponse 200 avec un code JSON structuré contenant le code.

Pour ce cas d'utilisation, utilisez une règle ExtractVariable pour récupérer le code et une règleAssignMessage pour renvoyer le code dans une charge utile JSON dont l'état est 200.

Auditer le consentement de l'utilisateur final de l'application

Vous pouvez être invité à vérifier qu'un utilisateur final a autorisé une application. Pour ce faire, vous pouvez utiliser l'API Audit d'Apigee Edge.

Exemple de protocole OAuth sortant

Consultez l'exemple outbound-oauth dans le dépôt api-platform-samples d'Apigee sur GitHub. Vous pouvez cloner l'exemple, le déployer et l'exécuter. Cet exemple utilise l'API de traduction de Microsoft Azure pour traduire des tweets. Pour ce faire, il effectue un appel sortant pour obtenir un jeton d'accès OAuth, puis met en cache le jeton à l'aide des règles de mise en cache des services d'API, en réutilisant le jeton mis en cache chaque fois qu'un appel sortant est effectué. Il inclut également une application de navigateur de démonstration utilisée pour appeler le proxy d'API.