Prérequis
Avant de commencer, vous aurez besoin d’une API GCE déployée. Si vous n’avez pas encore créé d’API, suivez le Guide de démarrage rapide de Cloud Endpoints qui se trouve dans la documentation de Google. Le guide de démarrage rapide vous guidera à travers la création d’une API GCE simple avec un seul point de terminaison,/airportName
, qui renvoie le nom d’un aéroport à partir de son code IATA de trois lettres.
Définir l’API dans Auth0
Allez dans Tableau de bord Auth0 > Applications > API, et créez une nouvelle API.
http://google_api
dans la capture d’écran ci-dessus) à utiliser à l’étape suivante.
Mettre à jour la configuration de l’API
Ensuite, nous mettrons à jour le fichier de configuration OpenAPI pour l’API GCE. Pour l’exemple d’API créé lors du démarrage rapide, ce fichier estopenapi.yaml
.
Ajouter des définitions de sécurité
Ouvrez le fichier de configuration et ajoutez une nouvelle sectionsecurityDefinitions
. Dans cette section, ajoutez une nouvelle définition (auth0_jwt
) avec les champs suivants :
Champ | Description |
---|---|
authorizationUrl | L’URL d’autorisation, doit être définie sur "https://{yourDomain}/authorize" |
flow | Le flux utilisé par le schéma de sécurité OAuth2. Les valeurs valides sont "implicit" , "password" , "application" ou "accessCode" . |
type | Le type du schéma de sécurité. Les valeurs valides sont "basic" , "apiKey" ou "oauth2" |
x-google-issuer | L’émetteur d’un identifiant, doit être défini sur "https://{yourDomain}/" |
x-google-jwks_uri | L’URI de la clé publique définie pour valider la signature JSON Web Token (JWT). Définissez ceci sur "https://{yourDomain}/.well-known/jwks.json" |
x-google-audiences | L’identifiant de l’API, assurez-vous que cette valeur correspond à ce que vous avez défini dans Auth0 Dashboard pour l’API. |
Mettre à jour le point de terminaison
Maintenant, mettez à jour le point de terminaison en ajoutant un champsecurity
avec la section securityDefinition
que nous avons créée à l’étape précédente.
security
indique au proxy GCE que notre chemin /airportName
s’attend à être sécurisé avec la définition auth0-jwt
.
Après la mise à jour de la configuration OpenAPI, elle devrait ressembler à ceci :
codeblockOld.header.login.logInButton codeblockOld.header.login.configureSnippet
Redéployer l’API
Ensuite, redéployez votre API GCE pour appliquer les changements de configuration. Si vous avez suivi le Guide de démarrage rapide de Cloud Endpoints, vous pouvez redéployer l’API en saisissant les éléments suivants dans le Cloud Shell de Google :Tester l’API
Une fois que vous avez redéployé l’API, appelez à nouveau l’API sans sécurité.GET
à votre API avec un en-tête d’autorisation du Bearer {ACCESS_TOKEN}
pour obtenir un accès autorisé :