title | excerpt | updated |
---|---|---|
Comment gérer le compte d’un client via l’API OVHcloud |
Découvrez comment créer une application et gérer des services pour vos clients |
2020-02-08 |
Dans ce guide, vous apprendrez à utiliser l'API OVHcloud pour gérer les services et les ressources du compte d'une autre personne.
Par exemple, supposons que vous voulez créer un marché dans lequel vous, en tant que fournisseur de services, pouvez installer et configurer les ressources d'autres clients OVHcloud.
- un compte OVHcloud
La première partie, en tant que développeur d'applications, consiste à enregistrer votre application sur OVHcloud.
Pour ce faire, accédez à l'API OVHcloud{.external}
Vous devrez vous connecter et définir un nom et une description de l'application.
Une fois connecté, vous obtiendrez votre "Application Key" et "Application Secret", plus tard appelés "AK" et "AS".
L'"AK" identifie votre application. Il peut être partagé publiquement.
L'"AS" est une clé utilisée pour signer les demandes d'API qui seront faites ultérieurement par votre application. Il doit être gardé secret.
Pour illustrer cette partie, supposons que vous avez déployé votre code d'application sur un serveur.
Votre application peut accéder à la valeur "AK" et "AS" et affiche une liste des logiciels ou de services disponibles pour l'installation par les clients.
Supposons qu'un client naviguant sur votre marché sélectionne un service à déployer sur son compte OVHcloud. Jusqu'à présent, vous n'avez aucun droit sur l'API du client. Vous devez demander leur permission pour gérer ses ressources.
La première étape consiste pour votre application à demander des autorisations sur l'API du client.
Pour ce faire, votre application demandera des informations d'identification en appelant https://ca.api.ovh.com/console/#/auth/credential#POST et en transmettant comme argument une liste de points de terminaison auxquels l'application doit avoir accès.
Exemple avec curl avec une demande d'accès à "GET /me".
export AK=FpAgU1C1fpnbyxoL
export REDIRECT_URL=https://webhook.site/586c652e-061e-453f-bd71-51912e33419d # usefull for debug
curl -H "Content-type: application/json" -H "X-Ovh-Application: $AK" -d '{"redirection": "$REDIRECT_URL", "accessRules": [{"method": "GET", "path": "/me"}]}' https://ca.api.ovh.com/1.0/auth/credential
Le résultat de cet appel sera un dictionnaire JSON
{
"state":"pendingValidation",
"consumerKey":"5DU984kYxyoAe4lRaevZCGnmt9FVnKT2",
"validationUrl":"https://ca.api.ovh.com/auth/?credentialToken=RAXoRq9FvUQFI1S6hE0HmkySyVp8aDWwIqBA3fYrOr0vVSMdpjqxFqp3IjyjGAfu"
En tant que développeur, vous devez enregistrer la "ConsumerKey", plus tard appelée "CK". Cette clé sera utilisée pour signer les demandes d'API OVHcloud pour le compte de votre client.
La demande a été faite et vous avez besoin que votre client l'accepte en le redirigeant vers "validationUrl"
Après avoir redirigé le client vers "validationUrl", il sera invité à confirmer la délégation de droits.
En cas de succès, le client sera redirigé vers l'URL précédemment spécifiée par "REDIRECT_URL" dans la commande curl.
A ce stade, vous devriez avoir trois jetons :
- la clé d'application "AK"
- le secret de demande "AS"
- la clé de consommation "CK"
À partir de là, en fonction des autorisations demandées, vous pouvez commencer à gérer les ressources de vos clients.
Bonne développement!
Échangez avec notre communauté d'utilisateurs.