Processus d'authentification #
Demandes adressées au API sont sécurisés par un jeton d'accès JWT. Ce jeton doit être généré à l'aide du flux d'octroi du code d'autorisation OAuth v2.
L'image ci-dessous fournit un aperçu du processus impliqué dans la génération des jetons requis et leur maintien en vie :
Veuillez consulter les liens ci-dessous pour obtenir des informations techniques détaillées et des exemples de code du flux d'octroi du code d'autorisation :
Pour progresser dans les étapes ci-dessous, vous aurez besoin de :
- Le Request_URL, Client_ID & Client_Secret (ceux-ci vous seront fournis lorsque vous demanderez API accès)
- Un identifiant utilisateur pour le ~.Dimensions.~ Portail revendeur pour approuver l'autorisation.
tip
Si vous rencontrez des problèmes à n'importe quel stade et que vous avez besoin d'aide, veuillez nous contacter à l'adresse [email protected] ou appelez-nous au (+1) 480 207 7920.
1. Demander une autorisation #
La première étape consiste à demander une autorisation - https://login.xarios.cloud/connect/authorize.
Construire un URL contenant les éléments ci-dessous :
- Client_Id : le client_id est fourni lors de la première demande de API accès.
- Response_Type : utilisez le « code ».
- État : Indiquez un état qui peut être utilisé pour identifier la redirection
- Redirect_URI : définit la redirection URL qui est utilisé après l'émission d'un jeton. La valeur par défaut est http ://127.0.0.1:8000.
- Scope : il s'agit de la liste des scopes qui doivent être fournis lors de la demande d'un jeton. Celui-ci doit être défini sur « openid offline_access l'intégration ».
Une fois la demande d'autorisation effectuée, l'écran de connexion pour le ~.Dimensions.~ Portail des revendeurs.
La redirection URL devrait maintenant avoir reçu un « code d'authentification » qui peut être utilisé à l'étape 2.
Exemple de demande
[https://login.xarios.cloud/connect/authorize?client_id=123456\& ; response_type=code& état=5ca75bd30& redirect_uri=https%3A%2F%2Fexample.com%2Fauth& scope=open%20id%20offline_access%20onboarding](https://login.xarios.cloud/connect/authorize?client_id=123456&response_type=code&state=5ca75bd30&redirect_uri=https%3A%2F%2Fexample.com%2Fauth&scope=open%20id%20offline_access%20onboarding)
2. Demandez l'accès et Actualiser les jetons #
Le « Code d'authentification » doit maintenant être échangé contre des jetons d'accès et d'actualisation - https://login.xarios.cloud/connect/token.
- Jeton d'accès, utilisé pour accéder au API et effectuer les demandes d'intégration.
- Actualiser le jeton, utilisé pour générer des jetons d'accès continu
Cela peut être fait en faisant un POST demande au serveur d'autorisation contenant pour les éléments suivants :
- Code : code d'authentification collecté à l'étape 1.
- Grant_Type : définissez sur authorization_code. (Selon le https://developer.okta.com/blog/2018/04/10/oauth-authorization-code-grant-type spécifications).
- Client_Id : le client_id est fourni lors de la première demande de API accès.
- Client_Secret : le client_secret est fourni lors de la première demande de API accès.
- Redirect_URI : définit la redirection URL qui est utilisé après l'émission d'un jeton. La valeur par défaut est http ://127.0.0.1:8000.
Exemple de demande
POST <https://login.xarios.cloud/connect/token> HTTP/1.1
Type-de-contenu : application/x-www-form-urlencoded
Contenu-Longueur : xx
Code=98765& grant_type=code& client_id=123456& client_secret=987654321& redirect_uri=https%3A%2f%2fexample.com%2fauth
Le serveur d'authentification valide la requête et répond avec un jeton d'accès et un jeton d'actualisation :
Exemple de réponse
{\
« access_token » : « AYjcyMzY3ZDhiNmJkNTY »,\
« refresh_token » : « RjY2NjM5NzA2OWJjuE7c »,\
« token_type » : « porteur »,\
« expire » : 5400\
}\
À ce stade, vous devriez être en possession des jetons d'accès et de rafraîchissement. Le jeton d'accès peut être utilisé pour effectuer API demandes d'intégration au besoin.
Pour plus d'informations sur l'utilisation du API, reportez-vous à la section API Référence.
3. Actualisation du jeton d'accès #
La durée de vie du jeton d'accès est fixée à 1 heure. Passé ce délai, un nouveau jeton d'accès devra être généré à l'aide du jeton d'actualisation.
Pour éviter d'avoir à générer une interaction de l'utilisateur pour générer un nouveau jeton d'accès, un jeton d'actualisation est utilisé. Le jeton d'actualisation peut être utilisé pour demander un nouveau jeton d'accès lorsque le jeton d'origine a expiré.
Cela peut être fait en faisant un POST demande au serveur d'autorisation contenant les éléments suivants (il s'agit de la même chose que l'étape 2, mais utilise le Actualiser le jeton au lieu du Code d'authentification) :
- Refresh_Token : collection de refresh_token stockée à l'étape 2.
- Grant_Type : utilisez « refresh_token ».
- Client_Id : le client_id est fourni lors de la première demande de API accès.
- Client_Secret : le client_secret est fourni lors de la première demande de API accès.
Exemple de demande
POST <https://login.xarios.cloud/connect/token> HTTP/1.1
Type-de-contenu : application/x-www-form-urlencoded
Contenu-Longueur : xx
refresh_token=RjY2NjM5NzA2OWJjuE7c& grant_type=refresh_token& client_id=123456& client_secret=987654321
info
L'ajout du offline_access à la portée lors de la demande d'autorisation à l'étape 1, le processus entraîne la génération d'un jeton d'actualisation avec le jeton d'accès initial.
warning
Les jetons d'actualisation expireront s'ils ne sont pas utilisés pendant une période de 90 jours. Le délai d'expiration sera toujours réinitialisé à 90 jours chaque fois que le jeton d'actualisation est utilisé.
Révocation des jetons #
Si le jeton est compromis, le jeton d'accès ne peut pas être révoqué, mais le jeton d'actualisation le peut. Contactez immédiatement l'assistance si cela se produit ou désactivez le REST API via le portail des revendeurs.