Spotnana načini autentikacije – pregled
SADRŽAJ
Spotnana omogućuje više načina autentikacije kako bi partnerima omogućila sigurnu integraciju s našom platformom. Ova dokumentacija daje pregled različitih metoda autentikacije koje su trenutno dostupne na Spotnani, uz detaljna objašnjenja tijeka svakog procesa. Prikazani načini autentikacije pokazuju kako Spotnana provjerava i odobrava pristup korisnicima na zaštićenim resursima na razini organizacije (odnosno, resursima kojima upravlja tvrtka korisnika na Spotnana platformi).
Ključne komponente
Prije nego što krenete, proučite ovaj popis osnovnih sustavskih pojmova koji se koriste u ovoj dokumentaciji.
- Spotnana UI(Korisničko sučelje Spotnana) Odnosi se na Spotnana web aplikaciju (Online Booking Tool) ili mobilnu aplikaciju. Najčešće se misli na stranicu za prijavu, koja pokreće autentikaciju kada se korisnik prijavljuje ili kreira novi račun.
- Spotnana poslužitelj Odnosi se na Spotnana pozadinski poslužitelj koji se koristi za autentikaciju (npr. ovjeravanje pristupa korisnika određenom resursu te sigurno pohranjivanje i obradu korisničkih podataka).
- Partner UI (Korisničko sučelje partnera) Korisničko sučelje (odnosno frontend aplikacija) koje partneri koriste za pristup Spotnana platformi. Na primjer, kod autentikacije putem iFrame-a, Spotnana platforma je ugrađena u korisničko sučelje partnera i njihovi korisnici pristupaju Spotnani kroz to sučelje.
- Partner poslužitelj Odnosi se na jedan ili više pozadinskih poslužitelja koje partneri koriste za integraciju sa Spotnanom.
- Spotnana IdP (Spotnana davatelj identiteta) Odnosi se na interni Spotnana servis za upravljanje identitetima i ovlaštenjima korisnika.
- Partner IdP Davatelji identiteta trećih strana koje koriste partneri. Najčešći primjeri su Google i Azure.
- OBT Spotnana Online Booking Tool (OBT), kojem možete pristupiti na https://app.spotnana.com/
- Subject token Kod autentikacije putem iFrame-a (ili razmjene tokena), subject token predstavlja identitet korisnika. Ovaj token koristi se za dohvat korisničkih podataka i odobravanje pristupa Spotnana platformi.
- Access token Pristupni token (OAuth) koji partnerska aplikacija koristi za pristup zaštićenim resursima u ime korisnika. To je privremeni ključ koji omogućuje aplikacijama slanje API zahtjeva bez izravnog otkrivanja korisničkih vjerodajnica.
- Refresh token Token za osvježavanje pristupa – dugotrajnija vjerodajnica koja omogućuje dobivanje novih pristupnih tokena bez ponovne autentikacije korisnika. Obično se izdaje zajedno s pristupnim tokenom prilikom prve prijave.
- Client credentials Podaci koje dobivaju korisnici koji se izravno spajaju na Spotnana API-je (npr. jedinstveni
clientId
iclientSecret
). - PID (Osobni identifikator) Osobni identifikator koji se dodjeljuje korisniku. PID služi za dohvat korisničkih podataka sa Spotnana poslužitelja.
orgId
Jedinstveni identifikator koji Spotnana dodjeljuje organizaciji korisnika.tmcId
Jedinstveni identifikator koji Spotnana dodjeljuje TMC-u (Travel Management Company).
Podržane metode autentikacije
Spotnana podržava sljedeće metode autentikacije:
- Autentikacija pomoću lozinke
- Autentikacija putem IdP-a
- Autentikacija putem API-ja
- Autentikacija putem iFrame-a
- Autentikacija putem autorizacijskog koda
- Autentikacija između strojeva (M2M)
Autentikacija pomoću lozinke
Pri autentikaciji pomoću lozinke, Spotnana UI (odnosno stranica za prijavu ili registraciju u OBT-u) pokreće i upravlja procesom autentikacije s pozadinskim poslužiteljima Spotnane. Ovisno o tome prijavljuje li se korisnik s postojećim profilom ili kreira novi, postoje dva različita tijeka. Svaki od tih tijekova detaljno je prikazan u nastavku kroz dijagrame i opisane korake.
Postojeći korisnik
Dijagram slijeda i koraci u nastavku prikazuju kako Spotnana UI komunicira s pozadinskim servisima radi autentikacije postojećeg korisnika.
Slika: Dijagram slijeda koji prikazuje autentikaciju pomoću lozinke za postojeće korisnike.
Korak | Tijek |
---|---|
Postojeći korisnik se prijavljuje putem OBT-a ili Spotnana mobilne aplikacije koristeći svoju e-mail adresu. | |
1 |
|
2 |
|
3 |
|
Novi korisnik
Dijagram slijeda i koraci u nastavku prikazuju kako Spotnana UI komunicira s pozadinskim servisima radi autentikacije novog korisnika (ili postojećeg korisnika koji pokušava resetirati lozinku).
Slika: Dijagram slijeda koji prikazuje autentikaciju pomoću lozinke za nove korisnike.
Korak | Tijek |
---|---|
Novi korisnik unosi svoju e-mail adresu na OBT stranici za prijavu i klikne Dalje. | |
1 |
|
1 a | Korisnik unosi novu lozinku i klikne Dalje. |
2 |
|
3 |
|
4 |
|
Autentikacija putem IdP-a
Spotnana podržava autentikaciju putem IdP-ova kao što su Google, Azure te prilagođeni IdP-ovi koristeći OpenID Connect, kao i SAML protokole. Dijagram slijeda i koraci u nastavku prikazuju tijek autentikacije putem IdP-a.
Slika: Dijagram slijeda koji prikazuje tijek autentikacije putem IdP-a.
Korak | Tijek |
---|---|
Korisnik se prijavljuje putem OBT-a ili Spotnana mobilne aplikacije koristeći svoju e-mail adresu. | |
1 |
|
2 | Spotnana UI preusmjerava zahtjev na Spotnana IdP. |
3 | Spotnana IdP preusmjerava zahtjev na partnerov IdP. Time započinje autentikacija kod partnerovog IdP-a. Napomena: Za svako preusmjeravanje vraća se statusni kod 302, što označava preusmjerenje na drugu adresu. |
4 | Uspostavlja se veza između Spotnana IdP-a i partnerovog IdP-a kako bi se provjerila autentičnost korisnika kod partnera. Napomena: Tijekom ove veze, Spotnana IdP šalje |
5 | Partnerov IdP uspješno autentificira korisnika. Napomena: Nakon ovog koraka, korisnički profil još uvijek mora proći provjeru bearer tokena. |
5 a | Nakon uspješne autentikacije, odgovor partnerovog IdP-a šalje se Spotnana IdP-u. |
5 b | Spotnana IdP generira jedinstveni kod za korisnički profil i šalje ga Spotnana UI-ju. |
6 |
Napomena: Uspješno kreiran bearer token znači da je korisnik autentificiran i može pristupiti Spotnani. |
7 |
|
Autentikacija putem API-ja
Partneri koji koriste Spotnana API-je za povezivanje s platformom mogu koristiti našu autentikacijsku točku za generiranje bearer tokena za svoje korisnike. Sljedeći dijagram prikazuje tijek autentikacije za partnere koji koriste ovaj način.
Slika: Dijagram slijeda koji prikazuje autentikaciju putem API-ja.
Korak | Tijek |
---|---|
1 | Korisnik API-ja šalje POST zahtjev prema Primjer cUrl zahtjeva koji možete koristiti za pozivanje curl -i -X POST \ https://api.spotnana.com/get-auth-token \ -H 'Content-Type: application/json' \ -d '{ "clientId": "sample-apiuser@tmcorg.com", "clientSecret": "<password>" }' Napomena: Zamijenite vrijednosti |
2 |
|
Nakon što korisnik API-ja primi bearer token, svi daljnji zahtjevi prema Spotnana API-jima (npr. Trip API-ji) moraju sadržavati bearer token u zaglavlju za autorizaciju.
Napomena: API točka get-auth-token(clientId, clientSecret)
ima ograničenje od 100 poziva u 5 minuta.
Autentikacija putem iFrame-a
iFrame ili ugrađeno rješenje podrazumijeva da partneri ugrađuju Spotnana UI u svoje korisničko sučelje, što znači da korisnici pristupaju Spotnani kroz partnerovo sučelje. U ovom slučaju, autentikacija korisnika odvija se putem razmjene tokena između sustava partnera i Spotnane.
Napomena: Kod autentikacije putem iFrame-a, korisnika koji se prijavljuje nazivamo pozivatelj. Ovo omogućuje posebne scenarije gdje se API/strojni korisnik prijavljuje i traži pristupni token za drugog korisnika. Takav API/strojni korisnik može koristiti administratorske podatke TMC-a za izravno povezivanje sa Spotnana poslužiteljem. Stoga ćemo koristiti pojam pozivatelj kao opći izraz, koji može označavati korisnika koji se prijavljuje na vlastiti profil ili API/strojnog korisnika koji traži pristupni token za drugog korisnika.
Sljedeći dijagram prikazuje kako se tijek autentikacije odvija putem razmjene tokena između Spotnane i partnerovih poslužitelja.
Slika: Dijagram slijeda koji prikazuje autentikaciju putem iFrame-a i razmjene tokena.
Korak | Tijek |
---|---|
Pozivatelj se prijavljuje koristeći Partner UI. | |
1 | Partner UI prikazuje Spotnana UI putem iFrame-a. |
2 | Spotnana UI šalje zahtjev partner UI-ju putem post poruke kako bi preuzeo tokene. Zahtjev se šalje s type=TOKEN_EXCHANGE_REQUEST . |
3 | Partner UI šalje API zahtjev partner poslužitelju kako bi preuzeo OAuth token, čime započinje sljedeće korake u tijeku autentikacije. |
3 a | Partner poslužitelj poziva Spotnana poslužitelj koristeći korisničke vjerodajnice i subject token kao parametre. Spotnana poslužitelj provjerava je li zahtjev poslao API/strojni korisnik. |
3 b |
|
3 c |
|
4 | Partner UI šalje token Spotnana UI-ju putem post poruke s |
5 |
Napomena: Uspješno kreiran bearer token znači da je korisnik autentificiran i može pristupiti Spotnani. |
6 |
|
Autentikacija putem autorizacijskog koda
Sljedeći dijagram prikazuje kako se tijek autentikacije odvija korištenjem autorizacijskog koda.
Slika: Dijagram slijeda koji prikazuje autentikaciju putem autorizacijskog koda.
Korak | Tijek |
---|---|
1 | Partner UI poziva partner poslužitelj radi preuzimanja autorizacijskog koda za pozivatelja koji se prijavljuje. Kod se dohvaća i vraća partner UI-ju. |
2 | Partner UI šalje zahtjev Spotnana UI-ju koristeći prilagođeni redirect URL koji sadrži |
3 | Spotnana UI šalje POST API zahtjev Spotnana poslužitelju koristeći |
3 a |
|
3 b | Spotnana poslužitelj generira access token i refresh token te ih šalje Spotnana UI-ju. |
4 |
Napomena: Uspješno kreiran bearer token znači da je korisnik autentificiran i može pristupiti Spotnani. |
5 |
|
Napomena: Ovaj način autentikacije nije moguće koristiti u situacijama kada TMC administrator dopušta više korisnika s istom e-mail adresom za prijavu.
Autentikacija između strojeva (M2M)
M2M autentikacija je prikladna kada aplikacija klijenta pristupa callback URL-u treće strane radi generiranja accessToken
za korisnika. Sljedeći dijagram prikazuje tijek M2M autentikacije.
Slika: Dijagram slijeda koji prikazuje tijek M2M autentikacije.
Korak | Tijek |
---|---|
Javni ključevi svih aplikacija uključenih u autentikaciju sinkroniziraju se između Spotnana poslužitelja i Spotnana IdP-a. Ti ključevi će se kasnije koristiti za provjeru pristupnog tokena u tijeku autentikacije. | |
1 | Partner poslužitelj šalje API zahtjev na |
2 |
|
3 |
|
Je li ovaj članak bio od pomoći?
To je odlično!
Zahvaljujemo na povratnim informacijama
Žao nam je! Nismo mogli biti od pomoći
Zahvaljujemo na povratnim informacijama
Povratne informacije poslane
Cijenimo vaš trud i pokušat ćemo popraviti članak