Processus d'authentification

Processus d'authentification #

Demandes au API sont sécurisés via un jeton d'accès JWT. Ce jeton doit être généré à l'aide du flux d'octroi de 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 :

Connexion au support

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

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

  • Le Request_URL, Client_ID & Client_Secret (ceux-ci vous seront fournis lorsque vous en ferez la demande API accès)
  • Une connexion utilisateur pour le ~.Dimensions.~ Portail revendeur pour approuver l'autorisation.
Color Wand tip
Si vous avez des problèmes à tout moment et que vous avez besoin d'aide, veuillez nous contacter à [email protected] ou appelez-nous sur (+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 l'accès.
  • Response_Type : Utilisez « code ».
  • State : Fournir un état qui peut être utilisé pour identifier la redirection
  • Redirect_URI : Cela 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.
  • Étendue : il s'agit de la liste des étendues qui doivent être fournies lors de la demande d'un jeton. Cela devrait être réglé sur « openid offline_access onboarding ».

Une fois la demande d'autorisation faite, vous serez présenté avec l'écran de connexion pour le ~.Dimensions.~ Portail des revendeurs.

La redirection URL aurait maintenant dû être passé un « code d'entère » qui peut être utilisé à l'étape 2.

Exemple de demande

[https://login.xarios.cloud/connect/authorize?client_id=123456\&amp ; response_type=code& state=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. Demande d'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 des demandes d'intégration.
  • Actualiser le jeton, utilisé pour générer des jetons d'accès continus

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

  • Code : Le code d'étique collecté à l'étape 1.
  • Grant_Type : Définie sur authorization_code. (Selon le https://developer.okta.com/blog/2018/04/10/oauth-authorization-code-grant-type spec).
  • Client_Id : Le client_id est fourni lors de la première demande API l'accès.
  • Client_Secret : Le client_secret est fourni lors de la première demande API l'accès.
  • Redirect_URI : Cela 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
Content-Type : 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 »,\
  « expire » : 5400\
}\

À ce stade, vous devez être en possession de jetons d'accès et d'actualisation. 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, veuillez vous référer au API Référence.

3. Actualisation du jeton d'accès #

La durée de vie du jeton d'accès est définie sur 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'exiger 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 l'original a expiré.

Cela peut être fait en faisant un POST demande au serveur d'autorisation contenant pour les éléments suivants (c'est la même chose que l'étape 2 mais utilise le Actualiser le jeton au lieu du Auth Code) :

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

Exemple de demande

POST <https://login.xarios.cloud/connect/token> HTTP/1.1
Content-Type : 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
Ajout du offline_access à l'étendue lors de la demande d'autorisation dans le processus de l'étape 1 entraînera la génération d'un jeton d'actualisation avec le jeton d'accès initial.

Hand Left warning
Les jetons d'actualisation expireront s'ils ne sont pas utilisés pendant une période de 90 jours. L'heure d'expiration continuera d'être réinitialisée à 90 jours chaque fois que le jeton d'actualisation est utilisé.

Révocation des jetons #

Si le jeton devient compromis, le jeton d'accès ne peut pas être révoqué, mais le jeton d'actualisation peut l'être. Contactez immédiatement le support si cela se produit ou désactivez le REST API via le portail des revendeurs.