Fluxuri de autentificare Spotnana – Prezentare generală
CUPRINS
Spotnana pune la dispoziție mai multe metode de autentificare, astfel încât partenerii să poată integra în siguranță platforma noastră. Acest ghid oferă o imagine de ansamblu asupra metodelor de autentificare acceptate de Spotnana, cu explicații detaliate despre modul în care funcționează fiecare flux. Veți regăsi aici descrierea modului în care Spotnana autentifică și autorizează utilizatorii pentru accesul la resursele protejate la nivel de organizație (adică resursele companiei utilizatorului pe platforma Spotnana).
Componente principale
Înainte de a începe, consultați această listă pentru a înțelege termenii esențiali folosiți în acest ghid.
- Interfața Spotnana(Interfața cu utilizatorul Spotnana) Se referă la aplicația web Spotnana (instrumentul de rezervare online) sau aplicația mobilă Spotnana. În special, este vorba despre pagina de autentificare, care declanșează fluxul de autentificare atunci când utilizatorul se conectează sau își creează un cont nou.
- Serverul Spotnana Reprezintă serverul de backend Spotnana folosit pentru autentificare (de exemplu, pentru autorizarea accesului unui utilizator la o resursă și pentru stocarea și procesarea în siguranță a datelor acestuia).
- Interfața partenerului (Interfața cu utilizatorul a partenerului) Interfața (aplicația de frontend) folosită de parteneri pentru a accesa platforma Spotnana. De exemplu, în cazul autentificării prin iFrame, platforma Spotnana este integrată în interfața partenerului, iar utilizatorii accesează Spotnana prin această interfață.
- Serverul partenerului Reprezintă unul sau mai multe servere de backend folosite de partenerii noștri pentru integrarea cu Spotnana.
- Spotnana IdP (Furnizor de identitate Spotnana) Este serviciul intern Spotnana pentru gestionarea identității și autorizarea utilizatorilor.
- IdP al partenerului Furnizori de identitate externi (IdP) utilizați de parteneri. Exemple frecvente sunt Google și Azure.
- OBT Instrumentul online de rezervări (OBT) al Spotnana, disponibil la https://app.spotnana.com/
- Token de subiect În autentificarea prin iFrame (sau bazată pe schimb de token), tokenul de subiect reprezintă identitatea utilizatorului. Acest token este folosit pentru a prelua informațiile sale și pentru a-i autoriza accesul la platforma Spotnana.
- Token de acces O acreditare (OAuth) utilizată de o aplicație parteneră pentru a accesa resurse protejate în numele unui utilizator. Acesta este un cod temporar de autorizare, care permite aplicațiilor să facă solicitări API fără a expune datele de autentificare ale utilizatorului.
- Token de reîmprospătare O acreditare cu valabilitate extinsă, folosită pentru a obține noi tokenuri de acces fără ca utilizatorul să fie nevoit să se autentifice din nou. De obicei, este emis împreună cu tokenul de acces la prima autentificare.
- Acreditări client Datele furnizate utilizatorilor care se conectează direct la API-urile Spotnana (de exemplu, un
clientId
șiclientSecret
). - PID (Identificator personal) Un identificator unic creat pentru utilizator. PID-ul este folosit pentru a prelua informațiile utilizatorului din serverul Spotnana.
orgId
Un identificator unic atribuit de Spotnana organizației din care face parte utilizatorul.tmcId
Un identificator unic atribuit de Spotnana pentru o companie de management al călătoriilor (TMC).
Metode de autentificare disponibile
Iată care sunt metodele de autentificare pe care Spotnana le acceptă:
- Autentificare cu parolă
- Autentificare prin IdP
- Autentificare prin API
- Autentificare prin iFrame
- Autentificare pe bază de cod de autorizare
- Autentificare între sisteme (M2M)
Autentificare cu parolă
La autentificarea cu parolă, interfața Spotnana (adică pagina de logare sau de creare cont din OBT) inițiază și gestionează procesul de autentificare cu serverele backend Spotnana. Acest proces poate urma două fluxuri diferite, în funcție de situație: dacă utilizatorul se conectează cu un cont existent sau dacă își creează un cont nou. Ambele scenarii sunt explicate mai jos, cu ajutorul diagramelor de secvență.
Utilizator existent
Diagrama de secvență și pașii de mai jos arată cum interacționează interfața Spotnana cu serviciile backend pentru autentificarea unui utilizator deja existent.
Fig: Diagramă de secvență care explică autentificarea cu parolă pentru utilizatorii existenți.
Pas | Flux |
---|---|
Un utilizator existent se conectează în OBT sau în aplicația mobilă Spotnana folosind adresa de email. | |
1 |
|
2 |
|
3 |
|
Utilizator nou
Diagrama de secvență și pașii de mai jos arată cum interacționează interfața Spotnana cu serviciile backend pentru autentificarea unui utilizator nou (sau a unui utilizator existent care dorește să își reseteze parola).
Fig: Diagramă de secvență care explică autentificarea cu parolă pentru utilizatorii noi.
Pas | Flux |
---|---|
Un utilizator nou introduce adresa de email pe pagina de logare OBT Spotnana și apasă pe Următorul. | |
1 |
|
1 a | Utilizatorul introduce o parolă nouă și apasă pe Următorul. |
2 |
|
3 |
|
4 |
|
Autentificare prin IdP
Spotnana permite autentificarea prin IdP-uri precum Google, Azure sau IdP-uri personalizate folosind OpenID Connect sau SAML. Diagrama de secvență și pașii de mai jos prezintă fluxul de autentificare bazat pe IdP.
Fig: Diagramă de secvență care explică fluxul de autentificare prin IdP.
Pas | Flux |
---|---|
Un utilizator se conectează în OBT sau în aplicația mobilă Spotnana folosind adresa de email. | |
1 |
|
2 | Interfața Spotnana redirecționează solicitarea către Spotnana IdP. |
3 | Spotnana IdP redirecționează solicitarea către IdP-ul partenerului. Astfel începe autentificarea prin IdP pentru utilizator. Notă: La fiecare redirecționare, se returnează codul de stare 302 pentru a indica faptul că solicitarea a fost redirecționată către o altă adresă URL. |
4 | Se stabilește o conexiune între Spotnana IdP și IdP-ul partenerului, pentru a verifica dacă utilizatorul este autentificat de către IdP-ul partenerului. Notă: În timpul acestei conexiuni, Spotnana IdP transmite |
5 | IdP-ul partenerului autentifică cu succes utilizatorul. Notă: După acest pas, profilul utilizatorului trebuie să fie verificat și prin tokenul bearer. |
5 a | După autentificarea reușită, răspunsul de la IdP-ul partenerului este transmis către Spotnana IdP. |
5 b | Spotnana IdP generează un cod unic pentru profilul utilizatorului și îl trimite către interfața Spotnana. |
6 |
Notă: Generarea cu succes a tokenului bearer înseamnă că utilizatorul a fost autentificat și are acces la Spotnana. |
7 |
|
Autentificare prin API
Partenerii care folosesc API-urile Spotnana pentru conectare pot utiliza endpoint-ul nostru de autentificare pentru a genera un token bearer pentru utilizatorii lor. Diagrama de mai jos ilustrează fluxul de autentificare pentru orice partener care folosește această metodă.
Fig: Diagramă de secvență care explică autentificarea prin API.
Pas | Flux |
---|---|
1 | Utilizatorul API face un apel POST către endpoint-ul Iată un exemplu de solicitare cUrl pe care o puteți folosi pentru endpoint-ul curl -i -X POST \ https://api.spotnana.com/get-auth-token \ -H 'Content-Type: application/json' \ -d '{ "clientId": "sample-apiuser@tmcorg.com", "clientSecret": "<password>" }' Notă: Înlocuiți valorile |
2 |
|
După ce utilizatorul API a primit tokenul bearer, toate cererile ulterioare către API-urile Spotnana (de exemplu, Trip APIs) trebuie să includă tokenul bearer în antet pentru autorizare.
Notă: Endpoint-ul get-auth-token(clientId, clientSecret)
permite maximum 100 de apeluri API la fiecare 5 minute.
Autentificare prin iFrame
O soluție iFrame sau integrată presupune ca partenerii să includă interfața Spotnana în propria lor interfață, astfel încât utilizatorii accesează Spotnana prin UI-ul partenerului. În acest caz, autentificarea se realizează prin schimb de tokenuri între sistemul partenerului și Spotnana.
Notă: În cazul autentificării prin iFrame, utilizatorul care se conectează va fi denumit apelant. Acest termen este folosit pentru scenariile în care un utilizator API/Machine se conectează și solicită un token de acces pentru alt utilizator. Acest utilizator API/Machine poate folosi datele de administrator TMC pentru a se conecta direct la serverul Spotnana. De aceea, vom folosi termenul apelant ca denumire generală, care poate însemna fie un utilizator care se conectează la propriul profil, fie un utilizator API/Machine care solicită un token de acces pentru altcineva.
Diagrama de secvență de mai jos arată cum se realizează autentificarea prin schimb de tokenuri între serverele Spotnana și ale partenerului.
Fig: Diagramă de secvență care explică autentificarea prin iFrame cu schimb de tokenuri.
Pas | Flux |
---|---|
Un apelant se conectează folosind interfața partenerului. | |
1 | Interfața partenerului afișează interfața Spotnana prin iFrame. |
2 | Interfața Spotnana trimite o solicitare către interfața partenerului, printr-un mesaj post, pentru a obține tokenurile. Solicitarea are parametrul type=TOKEN_EXCHANGE_REQUEST . |
3 | Interfața partenerului trimite o solicitare API către serverul partenerului pentru a obține tokenul OAuth, continuând pașii următori ai fluxului de autentificare. |
3 a | Serverul partenerului apelează serverul Spotnana folosind datele de autentificare ale utilizatorului și tokenul de subiect ca parametri. Serverul Spotnana verifică dacă solicitarea provine de la un utilizator API/Machine. |
3 b |
|
3 c |
|
4 | Interfața partenerului transmite tokenul către interfața Spotnana printr-un mesaj post cu |
5 |
Notă: Generarea cu succes a tokenului bearer înseamnă că utilizatorul a fost autentificat și are acces la Spotnana. |
6 |
|
Autentificare pe bază de cod de autorizare
Diagrama de mai jos arată cum se realizează fluxul de autentificare folosind un cod de autorizare.
Fig: Diagramă de secvență care explică autentificarea pe bază de cod de autorizare.
Pas | Flux |
---|---|
1 | Interfața partenerului apelează serverul partenerului pentru a obține codul de autorizare pentru apelantul care se conectează. Codul este preluat și transmis către interfața partenerului. |
2 | Interfața partenerului trimite o solicitare către interfața Spotnana folosind o adresă URL personalizată de redirecționare care conține |
3 | Interfața Spotnana face un apel POST către serverul Spotnana folosind endpoint-ul |
3 a |
|
3 b | Tokenul de acces și tokenul de reîmprospătare sunt generate de serverul Spotnana și trimise către interfața Spotnana. |
4 |
Notă: Generarea cu succes a tokenului bearer înseamnă că utilizatorul a fost autentificat și are acces la Spotnana. |
5 |
|
Notă: Acest flux de autentificare nu poate fi folosit în situațiile în care un administrator TMC permite mai multor utilizatori să folosească aceeași adresă de email la autentificare.
Autentificare între sisteme (M2M)
Metoda de autentificare M2M este potrivită atunci când aplicația client accesează o adresă URL de callback externă pentru a genera accessToken
pentru utilizator. Diagrama de mai jos ilustrează fluxul de autentificare M2M.
Fig: Diagramă de secvență care explică fluxul de autentificare M2M.
Pas | Flux |
---|---|
Cheile publice pentru toate aplicațiile implicate în autentificare sunt sincronizate între serverul Spotnana și Spotnana IdP. Acestea vor fi folosite ulterior pentru verificarea tokenului de acces pe parcursul autentificării. | |
1 | Serverul partenerului trimite o solicitare API către |
2 |
|
3 |
|
A fost de ajutor articolul?
Grozav!
Mulțumim pentru feedback
Ne pare rău! Nu am putut fi de ajutor
Mulțumim pentru feedback
Feedback trimis
Apreciem efortul dumneavoastră și vom încerca să modificăm articolul