Tous les produits
Search
Centre de documentation

Resource Access Management:Accéder aux API Alibaba Cloud depuis une application web

Dernière mise à jour :Aug 09, 2026

Utilisez le flux de code d'autorisation OAuth 2.0 pour permettre à une application web d'accéder aux API Alibaba Cloud pour le compte d'un utilisateur connecté.

Prérequis

Vue d'ensemble du flux d'autorisation

Le flux de code d'autorisation OAuth 2.0 permet à votre application d'obtenir un jeton d'accès sans manipuler directement les identifiants de l'utilisateur.

  1. L'utilisateur initie la connexion : Un utilisateur tente d'accéder à une ressource protégée dans votre application web.

  2. Redirection vers le serveur d'autorisation : Votre application redirige le navigateur vers le point de terminaison d'autorisation d'Alibaba Cloud.

  3. L'utilisateur donne son consentement : L'utilisateur se connecte à Alibaba Cloud et accorde à votre application les permissions demandées.

  4. Réception du code d'autorisation : Le serveur d'autorisation redirige le navigateur vers votre URL de redirection avec un code d'autorisation à usage unique.

  5. Échange du code contre des jetons : Votre serveur backend appelle le point de terminaison de jeton d'Alibaba Cloud pour échanger le code d'autorisation contre un jeton d'accès, un jeton ID et éventuellement un jeton d'actualisation.

  6. Accès aux ressources protégées : Votre application utilise le jeton d'accès pour appeler les API Alibaba Cloud pour le compte de l'utilisateur.

Étape 1 : Demander un code d'autorisation

Pour démarrer le flux, votre application web doit rediriger le navigateur de l'utilisateur vers le point de terminaison d'autorisation d'Alibaba Cloud : https://signin.alibabacloud.com/oauth2/v1/auth.

Paramètres de la requête

Paramètre

Obligatoire

Description

client_id

Oui

L'ID de votre application web.

redirect_uri

Oui

L'URI de redirection vers laquelle l'utilisateur est envoyé après avoir donné son consentement. Elle doit correspondre exactement à une URI enregistrée pour votre application.

response_type

Oui

Doit être défini sur code.

scope

Non

Liste des étendues OAuth demandées, séparées par des espaces. Si omis, toutes les étendues configurées sont demandées.

access_type

Non

Définissez sur offline pour recevoir un jeton d'actualisation ainsi que le jeton d'accès. Si omis, seul un jeton d'accès est renvoyé.

state

Non

Une valeur opaque qui maintient l'état entre la requête et le rappel. Utilisez une chaîne aléatoire et imprévisible pour prévenir les attaques CSRF.

prompt

Non

Définissez sur admin_consent pour forcer l'affichage de l'écran de consentement même si l'utilisateur a précédemment accordé les permissions. Si omis, l'écran de consentement n'apparaît que lors de la première autorisation.

Exemple de requête

Exemple d'URL de redirection :

https://signin.alibabacloud.com/oauth2/v1/auth?
client_id=123****&
redirect_uri=https://example.com/authcallback/&
response_type=code&
scope=openid /acs/ccc&
access_type=offline&
state=123456****

Exemple de réponse

Si l'utilisateur donne son consentement, le serveur d'autorisation redirige le navigateur vers votre redirect_uri avec le code d'autorisation et l'état en tant que paramètres de requête.

GET HTTP/1.1 302 Found
Location: https://example.com/authcallback/?code=ABAFDGDFXYZW888&state=123456****

Étape 2 : Échanger le code d'autorisation contre un jeton d'accès

Après avoir reçu le code d'autorisation, votre serveur backend doit envoyer une requête POST au point de terminaison de jeton d'Alibaba Cloud (https://oauth.alibabacloud.com/v1/token) pour échanger le code contre des jetons.

Paramètres de la requête (corps POST)

Paramètre

Obligatoire

Description

code

Oui

Le code d'autorisation provenant de l'Étape 1.

client_id

Oui

L'ID de votre application web.

redirect_uri

Oui

La même URI de redirection que celle utilisée dans la requête de l'Étape 1.

grant_type

Oui

Doit être défini sur authorization_code.

client_secret

Oui

Le secret client de votre application web.

Exemple de requête

POST /v1/token HTTP/1.1
Host: oauth.alibabacloud.com
Content-Type: application/x-www-form-urlencoded
code=ABAFDGDFXYZW888&
client_id=123****&
client_secret=`your_client_secret`&
redirect_uri=https://example.com/authcallback/&
grant_type=authorization_code

Exemple de réponse

Une requête réussie renvoie un objet JSON contenant les jetons.

{
  "access_token": "eyJraWQiOiJrMTIzNCIsImVu****",
  "token_type": "Bearer",
  "expires_in": "3600",
  "refresh_token": "Ccx63VVeTn2dxV7ovXXfLtAqLLERA****",
  "id_token": "eyJhbGciOiJIUzI1****",
  "scope": "openid /acs/ccc"
}

Étape 3 (Facultative) : Actualiser le jeton d'accès

Les jetons d'accès ont une durée de vie courte. Si vous avez demandé un accès offline, utilisez le jeton d'actualisation pour obtenir un nouveau jeton d'accès sans obliger l'utilisateur à se reconnecter. Point de terminaison : https://oauth.alibabacloud.com/v1/token

Paramètres de la requête (corps POST)

Paramètre

Obligatoire

Description

refresh_token

Oui

Le jeton d'actualisation que vous avez reçu précédemment.

client_id

Oui

L'ID de votre application web.

grant_type

Oui

Doit être défini sur refresh_token.

client_secret

Non

Le secret client de votre application web.

Exemple de requête

POST /v1/token HTTP/1.1
Host: oauth.alibabacloud.com
Content-Type: application/x-www-form-urlencoded
refresh_token=Ccx63VVeTn2dxV7ovXXfLtAqLLERAH1Bc&
client_id=123****&
client_secret=`your_client_secret`&
grant_type=refresh_token

Exemple de réponse

Le point de terminaison de jeton renvoie un nouveau jeton d'accès.

{
  "access_token": "eyJraWQiOiJrMTIzNCIsImVu****",
  "token_type": "Bearer",
  "expires_in": "3600"
}

Révoquer un jeton d'actualisation

Lorsqu'un utilisateur se déconnecte ou dissocie son compte, révoquez le jeton d'actualisation associé. Point de terminaison : https://oauth.alibabacloud.com/v1/revoke

Paramètres de la requête (corps POST)

Paramètre

Obligatoire

Description

token

Oui

Le jeton d'actualisation que vous souhaitez révoquer.

client_id

Oui

L'ID de votre application web.

client_secret

Non

Le secret client de votre application web.

Une requête réussie renvoie le code HTTP 200 OK.