Processus d'authentification

Processus d'authentification #

Les 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 donne un aperçu du processus impliqué dans la génération des jetons requis et leur maintien en vie :

Connexion support

Veuillez consulter les liens ci-dessous pour obtenir des renseignements techniques détaillés et des exemples de codes du flux d'octroi du code d'autorisation :

Pour progresser dans les étapes ci-dessous, vous aurez besoin de :

  • Les Request_URL, Client_ID & Client_Secret (ceux-ci vous seront fournis lorsque vous en faites la demande API accès)
  • Une connexion d'utilisateur pour le ~.Dimensions.~ Portail des revendeurs pour approuver l'autorisation.
Color Wand tip
Si vous rencontrez des problèmes à quelque étape que ce soit et que vous avez besoin d'aide, veuillez nous contacter à [email protected] ou appelez-nous au (+1) 480 207 7920.

1. Demande d'autorisation #

La première étape consiste à demander l'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 API accès.
  • Response_Type : Utilisez « code ».
  • State : Fournir 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 étendues qui doivent être fournies lors de la demande d'un jeton. Cela devrait être défini sur « openid offline_access onboarding ».

Une fois la demande d'autorisation faite, vous verrez 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 de rafraîchissement - https://login.xarios.cloud/connect/token.

  • Jeton d'accès, utilisé pour accéder à l'outil API et effectuer des demandes d'intégration.
  • Refresh Token, utilisé pour générer des jetons d'accès continus

Cela peut être fait en faisant un POST au serveur d'autorisation contenant les éléments suivants :

  • Code : Le code d'authentification recueilli à l'étape 1.
  • Grant_Type : Réglé sur authorization_code. (Selon le https://developer.okta.com/blog/2018/04/10/oauth-authorization-code-grant-type spécification).
  • Client_Id : Le client_id est fourni lors de la première demande API accès.
  • Client_Secret : Le client_secret est fourni lors de la première demande 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
Longueur du contenu : 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 demande 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 »,\
  « expires » : 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 les demandes d'intégration, au besoin.

Pour plus d'informations sur l'utilisation du API, veuillez vous référer à la page API Référence.

3. Rafraîchissement du jeton d'accès #

La durée de vie du jeton d'accès est fixée à 1 heure. Après ce délai, un nouveau jeton d'accès devra être généré à l'aide du jeton de rafraîchissement.

Pour éviter d'avoir besoin d'une interaction de l'utilisateur pour générer un nouveau jeton d'accès, un jeton de rafraîchissement est utilisé. Le jeton de rafraîchissement 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 au serveur d'autorisation contenant pour les éléments suivants (c'est la même chose que l'étape 2, mais utilise le bouton Actualiser le jeton au lieu du Code d'authentification) :

  • Refresh_Token : La 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 API accès.
  • Client_Secret : Le client_secret est fourni lors de la première demande API accès.

Exemple de demande

POST <https://login.xarios.cloud/connect/token> HTTP/1.1
Type de contenu : application/x-www-form-urlencoded
Longueur du contenu : xx
refresh_token=RjY2NjM5NzA2OWJjuE7c& grant_type=refresh_token& client_id=123456& client_secret=987654321
Information Circle info
L'ajout de l'icône offline_access à la portée lors de la demande d'autorisation à l'étape 1, le processus entraînera la génération d'un jeton d'actualisation avec le jeton d'accès initial.

Hand Left warning
Les jetons de rafraîchissement expireront s'ils ne sont pas utilisés pendant une période de 90 jours. Le délai d'expiration continuera d'être réinitialisé à 90 jours chaque fois que le jeton de rafraîchissement 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 de rafraîchissement le peut. Contactez immédiatement le support si cela se produit ou désactivez le REST API par l'intermédiaire du portail des revendeurs.