Azure get oauth2 token
# Prise en charge par Azure Container Registry de l’obtention d’un jeton Bearer à l’aide de l’authentification de base
Azure Container Registry prend en charge l’authentification de base et OAuth2 pour l’obtention d’un jeton Bearer de registre. Ce document décrit comment obtenir un jeton de porteur à l’aide de l’authentification de base. Pour obtenir le jeton à l’aide d’OAuth2, veuillez vous référer au document AAD-OAuth(ouvre une nouvelle fenêtre).
# À l’aide de l’API de jeton
ACR a implémenté la méthode GET sur le point de terminaison du jeton pour que l’utilisateur puisse récupérer un jeton Bearer à l’aide de l’authentification de base :
GET /oauth2/token
# Obtenir l’étendue du jeton à demander
La première chose que vous voulez faire est d’obtenir une demande d’authentification pour l’opération que vous souhaitez effectuer sur Azure Container Registry. Cela peut être fait en ciblant l’API que vous souhaitez appeler sans aucune authentification. Voici comment procéder via :
1 2
Notez que par défaut la requête est exécutée en tant que a à moins que vous ne spécifiiez un verbe différent avec le modificateur.
Cela produira la charge utile suivante, utilisée pour la raccourcir à des fins d’illustration :
1
2
3
4 5
Notez que la charge utile de réponse a un en-tête appelé qui nous donne les informations suivantes :
- Le type de défi : .
- Le domaine du défi : .
- Le service du défi : .
- L’ampleur du défi : .
Le corps de la charge utile peut fournir des détails supplémentaires, mais toutes les informations dont vous avez besoin sont contenues dans l’en-tête.
Avec ces informations, nous sommes maintenant prêts à appeler pour obtenir un jeton d’accès ACR qui nous permettra d’utiliser l’API.
# Encoder le nom d’utilisateur et le mot de passe
- Vous pouvez utiliser Windows Powershell ou l’utilitaire de ligne de commande dans Linux/Mac
- Encode en utilisant le format suivant : [nom d’utilisateur] : [mot de passe]
- Powershell :
- Linux/Mac Terminal :
- Copiez la valeur encodée et définissez-la comme variable d’environnement
1
# Obtenez un jeton d’accès Pull pour l’utilisateur
format REST : [login-url] [login-url] [image] Définissez
l’en-tête de l’autorisation, en définissant le mot 'Basic' suivi d’un espace et de la valeur usr :pwd encodée
Voici à quoi ressemble un tel appel lorsqu’il est effectué via :
1
2 3
4
Le résultat de cette opération sera une réponse avec le statut 200 OK et un corps avec la charge utile JSON suivante :
1
Cette réponse est le jeton d’accès ACR que vous pouvez inspecter avec jwt.ms(ouvre une nouvelle fenêtre). Vous pouvez désormais l’utiliser pour appeler les API exposées par Azure Container Registry.
# Appel d’une API Azure Container Registry
Dans cet exemple, nous allons appeler l’API sur un Azure Container Registry. Supposons que vous disposiez des éléments suivants :
- Un registre de conteneurs valide, que nous appellerons ici .
- Un jeton d’accès ACR valide, créé avec la portée correcte pour l’API que nous allons appeler.
Voici à quoi ressemblerait un appel à l’API du registre donné lorsqu’il est effectué via :
1
2 3
Cela devrait aboutir à un statut 200 OK.
Modifier cette page sur GitHub(ouvre nouvelle fenêtre)
← → d’analyse des modifications d’intégration AAD