Pour que les utilisateurs ou les applications puissent utiliser l'API App Engine Admin, vous devez, en tant que propriétaire de projet Google Cloud, activer d'abord l'API dans votre projet, puis créer des identifiants que les utilisateurs ou les applications pourront utiliser pour autoriser les requêtes HTTP.
Par exemple, un propriétaire doit d'abord créer un projet Google Cloud initial, puis créer les identifiants dans ce projet pour que des requêtes HTTP puissent être envoyées à l'API Admin. Une fois que le propriétaire a configuré le projet initial, celui-ci peut être utilisé à des fins administratives pour créer et gérer de manière automatisée d'autres ressources ; par exemple :
- Créer d'autres projets Google Cloud
- Créer des applications App Engine pour tous les projets créés
- Déployer des versions d'application dans les applications App Engine récemment créées
- Gérer les ressources dans toutes les versions que vous avez déployées
Avant de commencer
Pour effectuer la tâche suivante, vous devez être propriétaire du projet Google Cloud pour lequel vous souhaitez activer l'API Admin afin que les utilisateurs et les applications puissent y accéder.
Configurer votre projet et créer des identifiants
Pour configurer votre projet Google Cloud et créer des identifiants, procédez comme suit :
Activez à la fois l'API App Engine Admin et l'API Cloud Storage dans votre projet Google Cloud :
Créez des identifiants que les utilisateurs et les applications utiliseront pour accéder à l'API Admin dans votre projet.
Pour créer des identifiants, consultez le Guide d'authentification de Google Cloud Platform, puis choisissez le flux d'autorisation OAuth 2.0 répondant aux exigences de votre application.
Exemples
Pour illustrer un flux d'authentification, les exemples ci-dessous utilisent le flux OAuth 2.0 côté client pour obtenir un jeton. Le jeton permet d'autoriser les requêtes envoyées à l'API Admin à l'aide de l'outil de ligne de commande cURL pour déployer l'exemple d'application dans l'application App Engine du projet [MY_PROJECT_ID]
.
Exemple d'authentification
Dans cet exemple, le flux d'autorisation côté client, appelé flux d'attribution implicite, exige que l'utilisateur autorise l'application cliente à accéder à l'API Admin pour le compte de l'utilisateur. Le jeton d'accès renvoyé est valable pendant environ 60 minutes ou généralement tant que l'utilisateur est actif dans l'application.
Requête HTTP
L'URL suivante utilise un ID client créé dans Google Cloud Console pour demander un jeton d'accès, puis rediriger l'utilisateur vers un URI autorisé où votre application reçoit le jeton :
https://accounts.google.com/o/oauth2/v2/auth?
response_type=token&
client_id=[MY_CLIENT_ID].apps.googleusercontent.com&
scope=https://www.googleapis.com/auth/cloud-platform&
redirect_uri=[MY_REDIRECT_URI]
Où :
[MY_CLIENT_ID]
est un ID client provenant de l'un de vos identifiants dans la console Google Cloud.[MY_REDIRECT_URI]
est l'URI de redirection autorisé correspondant généré à partir des mêmes identifiants dans la console Google Cloud. Si aucun URI de redirection n'est spécifié, vous devez spécifier un URI approuvé, par exemplehttps://www.google.com
. L'URI de redirection définit la destination d'envoi de la réponse HTTP. Pour la production, vous devez spécifier le point de terminaison de l'authentification de votre application, qui gère les réponses du serveur OAuth 2.0. Pour plus d'informations, consultez l'article Utiliser OAuth 2.0 pour les applications de serveur Web.
Réponse HTTP
Lorsque l'application utilise l'URL pour demander une autorisation, le jeton d'accès est renvoyé dans une réponse, par exemple :
https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
token_type=Bearer&
expires_in=3600
Où [MY_ACCESS_TOKEN]
est le jeton d'accès renvoyé que vous avez demandé.
Une fois que vous avez obtenu un jeton d'accès, vous pouvez l'utiliser pour accéder à l'API Admin. Par exemple, le point de terminaison de l'authentification de votre application peut l'extraire de la réponse de manière automatisée. Consultez l'exemple suivant pour savoir comment utiliser manuellement votre jeton dans une commande cURL.
Exemple de requête HTTP utilisant cURL
La commande cURL suivante montre comment utiliser votre jeton d'accès [MY_ACCESS_TOKEN]
pour effectuer une requête HTTP POST
. Cette commande cURL déploie les ressources définies dans le fichier de configuration app.json
sur la version v1
du service default
, dans l'application du projet MY_PROJECT_ID
.
curl -X POST -T "app.json" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/services/default/versions