Flux d'authentification Spotnana - Vue d'ensemble
TABLE DES MATIÈRES
- Flux d'authentification Spotnana - Vue d'ensemble
Spotnana propose diverses méthodes d'authentification qui permettent aux partenaires d'assurer une intégration sécurisée avec notre plateforme. Cette documentation fournit un aperçu des différentes méthodes d'authentification actuellement prises en charge par Spotnana, ainsi que des explications détaillées de leurs flux de processus. Les différents flux d'authentification mentionnés ici démontrent comment Spotnana authentifie et autorise les utilisateurs à accéder aux ressources protégées au niveau de l'organisation (c'est-à-dire, les ressources appartenant à l'entreprise de l'utilisateur sur la plateforme Spotnana).
Composants clés
Avant de commencer, consultez cette liste pour connaître les définitions des composants essentiels du système auxquels il est fait référence dans cette documentation.
- Interface utilisateur Spotnana(Spotnana User Interface) Désigne l'application web front-end de Spotnana (c'est-à-dire, l'outil de réservation en ligne) ou l'application mobile Spotnana. Plus précisément, il désigne la page de connexion, qui déclenche le flux d'authentification front-end lorsque l'utilisateur se connecte ou crée une nouvelle connexion.
- Serveur Spotnana Désigne le serveur back-end de Spotnana utilisé à des fins d'authentification (par exemple, pour autoriser un utilisateur à accéder à une ressource et pour stocker et traiter les informations utilisateur en toute sécurité).
- Interface utilisateur partenaire (Partner's User Interface) L'interface utilisateur (c'est-à-dire, l'application front-end) utilisée par les partenaires pour accéder à la plateforme Spotnana. Par exemple, dans l'authentification basée sur iFrame, la plateforme Spotnana est intégrée à l'interface utilisateur (UI) du partenaire et ses utilisateurs accèdent à Spotnana via l'interface utilisateur du partenaire.
- Serveur partenaire Désigne un ou plusieurs serveurs back-end utilisés par nos partenaires pour s'intégrer à Spotnana.
- IdP Spotnana (Spotnana Identity Provider) Désigne le service interne de Spotnana utilisé pour la gestion et l'autorisation des identités d'utilisateurs.
- IdP Partenaire Fournisseurs d'identité (IdP) tiers utilisés par les partenaires. Google et Azure sont des IdP courants.
- OBT L'outil de réservation en ligne (OBT) de Spotnana, accessible à l'adresse https://app.spotnana.com/
- Jeton sujet Dans l'authentification basée sur iFrame (ou échange de jetons), un jeton sujet représente l'identité de l'utilisateur. Ce jeton sera utilisé pour rechercher ses informations et l'autoriser à accéder à la plateforme Spotnana.
- Jeton d'accès Une identification (OAuth) utilisée par une application partenaire pour accéder à des ressources protégées au nom d'un utilisateur. Il s'agit d'une clé d'autorisation temporaire, permettant aux applications d'effectuer des requêtes API sans exposer les identifiants de l'utilisateur.
- Jeton de rafraîchissement Une identification de longue durée utilisée pour obtenir de nouveaux jetons d'accès sans obliger l'utilisateur à se réauthentifier. Elle est généralement émise avec le jeton d'accès lors de sa création pendant la première session de connexion.
- Identifiants client Les informations fournies aux utilisateurs qui se connectent directement aux API Spotnana (c'est-à-dire, un
clientId
et unclientSecret
uniques). - PID (Identifiant personnel) Un identifiant personnel créé pour l'utilisateur. Le PID récupère les informations de l'utilisateur auprès du serveur Spotnana.
orgId
Un identifiant unique attribué par Spotnana à l'organisation de l'utilisateur.tmcId
Un identifiant unique attribué par Spotnana à une TMC (Travel Management Company).
Méthodes d'authentification prises en charge
Voici les différentes méthodes d'authentification prises en charge par Spotnana :
- Authentification par mot de passe
- Authentification basée sur l'IdP
- Authentification basée sur API
- Authentification basée sur iFrame
- Authentification basée sur un code d'autorisation
- Authentification machine à machine (M2M)
Authentification par mot de passe
Lors de l'utilisation de l'authentification par mot de passe, l'interface utilisateur Spotnana (c'est-à-dire, la page de connexion ou d'inscription dans l'OBT) initie et gère le processus d'authentification avec les serveurs back-end de Spotnana. Cette approche peut avoir deux flux différents, selon que l'utilisateur se connecte avec un profil existant ou crée un nouveau profil. Chacun de ces deux flux d'authentification est expliqué dans les sections ci-dessous à l'aide de diagrammes de séquence.
Utilisateur existant
Le diagramme de séquence et les étapes ci-dessous expliquent comment l'interface utilisateur Spotnana interagit avec les services back-end pour authentifier un utilisateur existant.
Fig : Un diagramme de séquence expliquant l'authentification par mot de passe pour les utilisateurs existants.
Étape | Flux |
---|---|
Un utilisateur existant se connecte via l'OBT ou l'application mobile Spotnana en utilisant son e-mail. | |
1 |
|
2 |
|
3 |
|
Nouvel utilisateur
Le diagramme de séquence et les étapes ci-dessous expliquent comment l'interface utilisateur Spotnana interagit avec les services back-end pour authentifier un nouvel utilisateur (ou un utilisateur existant qui essaie de réinitialiser son mot de passe).
Fig : Un diagramme de séquence expliquant l'authentification par mot de passe pour les nouveaux utilisateurs.
Étape | Flux |
---|---|
Un nouvel utilisateur entre son e-mail sur la page de connexion OBT de Spotnana et clique sur Suivant. | |
1 |
|
1 a | L'utilisateur entre un nouveau mot de passe et clique sur Suivant. |
2 |
|
3 |
|
4 |
|
Authentification basée sur l'IdP
Spotnana prend en charge l'authentification via des IdP tels que Google, Azure et des IdP personnalisés en utilisant OpenID Connect, ainsi que les protocoles SAML. Le diagramme de séquence et les étapes ci-dessous expliquent le flux d'authentification basé sur l'IdP.
Fig : Un diagramme de séquence expliquant le flux d'authentification basé sur l'IdP.
Étape | Flux |
---|---|
Un utilisateur se connecte via l'OBT ou l'application mobile Spotnana en utilisant son e-mail. | |
1 |
|
2 | L'interface utilisateur Spotnana redirige la demande vers l'IdP Spotnana. |
3 | L'IdP Spotnana redirige la demande vers l'IdP du partenaire. Ceci initie l'authentification de l'IdP pour l'utilisateur. Remarque : Pour chaque redirection, un code d'état 302 est renvoyé pour indiquer que la requête a été redirigée vers une URL différente. |
4 | Une connexion est établie entre l'IdP Spotnana et l'IdP du partenaire. Cette connexion est établie pour s'assurer que l'utilisateur est authentifié par l'IdP du partenaire. Remarque : Pendant cette connexion, l'IdP Spotnana envoie le |
5 | L'IdP partenaire authentifie l'utilisateur avec succès. Remarque : Après cette étape, le profil utilisateur doit toujours passer par la vérification du jeton d'accès (bearer token). |
5 a | Après une authentification réussie, la réponse de l'IdP partenaire est envoyée à l'IdP Spotnana. |
5 b | L'IdP Spotnana génère un code unique pour le profil utilisateur et l'envoie à l'interface utilisateur Spotnana. |
6 |
Remarque : Une création réussie du jeton d'accès (bearer token) indique que l'utilisateur a été authentifié et est autorisé à accéder à Spotnana. |
7 |
|
Authentification basée sur API
Les partenaires qui utilisent les API de Spotnana pour se connecter à la plateforme Spotnana peuvent utiliser notre point d'accès d'authentification pour générer un jeton d'accès (bearer token) pour leurs utilisateurs. Le diagramme de séquence suivant illustre le flux d'authentification pour tout partenaire utilisant l'authentification basée sur API.
Fig : Un diagramme de séquence expliquant l'authentification basée sur API.
Étape | Flux |
---|---|
1 | L'utilisateur API effectue un appel POST au point d'accès Voici une requête cUrl d'exemple à utiliser lors de l'appel du point d'accès curl -i -X POST \ https://api.spotnana.com/get-auth-token \ -H 'Content-Type: application/json' \ -d '{ "clientId": "sample-apiuser@tmcorg.com", "clientSecret": "<password>" }' Remarque : Remplacez les valeurs |
2 |
|
Une fois que l'utilisateur API a reçu le jeton d'accès (bearer token), toutes les requêtes ultérieures adressées aux API Spotnana (par exemple, Trip APIs) doivent inclure le jeton d'accès (bearer token) dans l'en-tête pour l'autorisation.
Remarque : Le point d'accès get-auth-token(clientId, clientSecret)
a une limite de débit de 100 appels API par 5 minutes.
Authentification basée sur iFrame
Un iFrame ou une solution intégrée se produit lorsque les partenaires intègrent l'interface utilisateur Spotnana dans l'interface utilisateur du partenaire, ce qui signifie que les utilisateurs accèdent à Spotnana via l'interface utilisateur du partenaire. Dans ce scénario, l'authentification de l'utilisateur est gérée sur la base d'un échange de jetons entre les systèmes du partenaire et de Spotnana.
Remarque : Pour l'authentification basée sur iFrame, l'utilisateur qui se connecte sera désigné comme un appelant. Ceci est fait pour permettre des scénarios spécifiques où un utilisateur API/Machine se connecte et demande un jeton d'accès pour un autre utilisateur. Cet utilisateur API/Machine pourrait utiliser des identifiants d'administrateur TMC (Travel Management Company) pour se connecter directement au serveur Spotnana. Par conséquent, nous utiliserons appelant comme terme général, qui peut faire référence à un utilisateur se connectant à son propre profil ou à un utilisateur API/Machine demandant un jeton d'accès pour un autre utilisateur.
Le diagramme de séquence suivant illustre comment le flux d'authentification est géré à l'aide d'un échange de jetons entre les serveurs Spotnana et partenaires.
Fig : Un diagramme de séquence expliquant l'authentification basée sur iFrame à l'aide d'un échange de jetons.
Étape | Flux |
---|---|
Un appelant se connecte via l'interface utilisateur du partenaire. | |
1 | L'interface utilisateur du partenaire rend l'interface utilisateur Spotnana via un iFrame. |
2 | L'interface utilisateur Spotnana envoie une requête à l'interface utilisateur du partenaire via un message post pour récupérer les jetons. La requête est envoyée avec type=TOKEN_EXCHANGE_REQUEST . |
3 | L'interface utilisateur du partenaire envoie une requête API au serveur partenaire pour récupérer le jeton OAuth, initiant les étapes consécutives suivantes dans le flux d'authentification. |
3 a | Le serveur partenaire appelle le serveur Spotnana en utilisant les identifiants de l'utilisateur et le jeton sujet comme paramètres. Le serveur Spotnana vérifie si la requête entrante est envoyée par un utilisateur API/Machine. |
3 b |
|
3 c |
|
4 | L'interface utilisateur du partenaire envoie le jeton à l'interface utilisateur Spotnana via un message post avec |
5 |
Remarque : Une création réussie du jeton d'accès (bearer token) indique que l'utilisateur a été authentifié et est autorisé à accéder à Spotnana. |
6 |
|
Authentification basée sur un code d'autorisation
Le diagramme de séquence suivant illustre comment le flux d'authentification est géré à l'aide d'un code d'autorisation.
Fig : Un diagramme de séquence expliquant l'authentification basée sur un code d'autorisation à l'aide d'un code d'autorisation.
Étape | Flux |
---|---|
1 | L'interface utilisateur du partenaire appelle le serveur partenaire pour récupérer le code d'autorisation pour l'appelant qui se connecte. Le code d'autorisation est récupéré et renvoyé à l'interface utilisateur du partenaire. |
2 | L'interface utilisateur du partenaire envoie une requête à l'interface utilisateur Spotnana à l'aide d'une URL de redirection personnalisée contenant le |
3 | L'interface utilisateur Spotnana effectue un appel API POST au serveur Spotnana en utilisant le point d'accès |
3 a |
|
3 b | Le jeton d'accès (access token) et le jeton de rafraîchissement (refresh token) sont générés par le serveur Spotnana et envoyés à l'interface utilisateur Spotnana. |
4 |
Remarque : Une création réussie du jeton d'accès (bearer token) indique que l'utilisateur a été authentifié et est autorisé à accéder à Spotnana. |
5 |
|
Remarque : Ce flux d'authentification ne peut pas être utilisé dans des scénarios où une TMC administrateur autorise plusieurs utilisateurs à utiliser le même e-mail lors de la connexion.
Authentification machine à machine (M2M)
La méthode d'authentification M2M est adaptée lorsque le flux d'authentification implique que l'application cliente accède à une URL de rappel tierce pour générer l'accessToken
pour l'utilisateur. Le diagramme de séquence suivant illustre le flux d'authentification M2M.
Fig : Un diagramme de séquence expliquant le flux d'authentification M2M.
Étape | Flux |
---|---|
Les clés publiques de toutes les applications utilisées dans l'authentification sont synchronisées entre le serveur Spotnana et l'IdP Spotnana. Elles seront utilisées ultérieurement pour vérifier le jeton d'accès dans le flux d'authentification. | |
1 | Le serveur partenaire envoie une requête API à |
2 |
|
3 |
|
Cet article a-t-il été utile ?
C'est super !
Merci pour votre commentaire
Désolé ! Nous n'avons pas pu vous être utile
Merci pour votre commentaire
Commentaires envoyés
Nous apprécions vos efforts et nous allons corriger l'article