Spotnanas autentiseringsflöden – Översikt
INNEHÅLLSFÖRTECKNING
Spotnana erbjuder flera olika autentiseringsmetoder som gör det möjligt för partners att integrera säkert med vår plattform. I denna dokumentation får du en översikt över de autentiseringsmetoder som Spotnana stödjer, tillsammans med detaljerade beskrivningar av hur respektive flöde fungerar. De olika autentiseringsflödena visar hur Spotnana identifierar och ger användare rättigheter att komma åt skyddade resurser på organisationsnivå (det vill säga resurser som tillhör användarens företag på Spotnanas plattform).
Centrala komponenter
Läs gärna igenom denna lista med definitioner av de viktigaste systemkomponenterna som nämns i dokumentationen, innan du börjar.
- Spotnana UI(Spotnanas användargränssnitt) Syftar på Spotnanas webbaserade gränssnitt (Online Booking Tool) eller Spotnanas mobilapp. Här avses framför allt inloggningssidan, som startar autentiseringsflödet när användaren loggar in eller skapar ett nytt konto.
- Spotnana-server Syftar på Spotnanas backend-server som används för autentisering (till exempel för att ge användare åtkomst till resurser samt för att lagra och hantera användaruppgifter på ett säkert sätt).
- Partner UI (Partnerns användargränssnitt) Det användargränssnitt (frontend-applikation) som partners använder för att komma åt Spotnanas plattform. Vid iFrame-baserad autentisering bäddas Spotnanas plattform in i partnerns gränssnitt, och användarna når Spotnana via partnerns UI.
- Partner-server Syftar på en eller flera backend-servrar som våra partners använder för att integrera mot Spotnana.
- Spotnana IdP (Spotnanas identitetsleverantör) Syftar på Spotnanas interna tjänst för hantering av användaridentiteter och behörigheter.
- Partner IdP Tredjeparts identitetsleverantörer (IdP) som används av partners. Vanliga exempel är Google och Azure.
- OBT Spotnanas Online Booking Tool (OBT), som du hittar på https://app.spotnana.com/
- Subject token Vid iFrame-baserad (eller token exchange) autentisering används ett subject token för att representera användarens identitet. Denna token används för att hämta information om användaren och ge rätt behörighet till Spotnanas plattform.
- Access token Ett tillfälligt behörighetsbevis (OAuth) som partnerapplikationer använder för att komma åt skyddade resurser för en användares räkning. Med denna nyckel kan applikationer göra API-anrop utan att användarens inloggningsuppgifter exponeras.
- Refresh token Ett långlivat behörighetsbevis som används för att hämta nya access tokens utan att användaren behöver logga in igen. Den utfärdas vanligtvis tillsammans med access token vid första inloggningen.
- Klientuppgifter Information som ges till användare som ansluter direkt till Spotnanas API:er (till exempel ett unikt
clientId
ochclientSecret
). - PID (Personlig identifierare) En personlig identifierare som skapas för användaren. PID används för att hämta användarens information från Spotnanas server.
orgId
Ett unikt id som Spotnana tilldelar användarens organisation.tmcId
Ett unikt id som Spotnana tilldelar en TMC (Travel Management Company).
Stödda autentiseringsmetoder
Nedan listas de olika autentiseringsmetoder som Spotnana stödjer:
- Lösenordsbaserad autentisering
- IdP-baserad autentisering
- API-baserad autentisering
- iFrame-baserad autentisering
- Autentisering med auktoriseringskod
- Maskin-till-maskin (M2M) autentisering
Lösenordsbaserad autentisering
När du använder lösenordsbaserad autentisering är det Spotnana UI (alltså inloggnings- eller registreringssidan i OBT) som startar och hanterar autentiseringsprocessen mot Spotnanas backend-servrar. Flödet ser olika ut beroende på om användaren loggar in med ett befintligt konto eller registrerar sig som ny användare. Nedan beskrivs båda dessa flöden steg för steg, med tillhörande sekvensdiagram.
Befintlig användare
Diagrammet och stegen nedan visar hur Spotnana UI samarbetar med backend-tjänsterna för att autentisera en befintlig användare.
Figur: Ett sekvensdiagram som visar lösenordsbaserad autentisering för befintliga användare.
Steg | Flöde |
---|---|
En befintlig användare loggar in via OBT eller Spotnanas mobilapp med sin e-postadress. | |
1 |
|
2 |
|
3 |
|
Ny användare
Diagrammet och stegen nedan visar hur Spotnana UI samarbetar med backend-tjänsterna för att autentisera en ny användare (eller en befintlig användare som vill återställa sitt lösenord).
Figur: Ett sekvensdiagram som visar lösenordsbaserad autentisering för nya användare.
Steg | Flöde |
---|---|
En ny användare anger sin e-postadress på Spotnanas OBT-inloggningssida och klickar på Nästa. | |
1 |
|
1 a | Användaren anger ett nytt lösenord och klickar på Nästa. |
2 |
|
3 |
|
4 |
|
IdP-baserad autentisering
Spotnana stödjer autentisering via identitetsleverantörer (IdP) såsom Google, Azure och egna IdP:er med OpenID Connect eller SAML-protokoll. Sekvensdiagrammet och stegen nedan visar hur IdP-baserad autentisering går till.
Figur: Ett sekvensdiagram som visar IdP-baserat autentiseringsflöde.
Steg | Flöde |
---|---|
En användare loggar in via OBT eller Spotnanas mobilapp med sin e-postadress. | |
1 |
|
2 | Spotnana UI skickar vidare förfrågan till Spotnana IdP. |
3 | Spotnana IdP skickar vidare förfrågan till partnerns IdP, vilket startar autentiseringen hos IdP:n. Observera: Vid varje omdirigering returneras statuskod 302 för att visa att förfrågan har skickats vidare till en annan URL. |
4 | En anslutning etableras mellan Spotnana IdP och partnerns IdP för att säkerställa att användaren autentiseras av partnerns IdP. Observera: Under denna anslutning skickar Spotnana IdP |
5 | Partnerns IdP autentiserar användaren. Observera: Efter detta steg måste användarprofilen fortfarande verifieras med bearer token. |
5 a | När autentiseringen lyckats skickas svaret från partnerns IdP till Spotnana IdP. |
5 b | Spotnana IdP skapar en unik kod för användarprofilen och skickar den till Spotnana UI. |
6 |
Observera: När en bearer token har skapats innebär det att användaren är autentiserad och har tillgång till Spotnana. |
7 |
|
API-baserad autentisering
Partners som ansluter till Spotnanas plattform via våra API:er kan använda vårt autentiserings-endpoint för att generera en bearer token till sina användare. Sekvensdiagrammet nedan visar hur autentiseringsflödet ser ut för partners som använder API-baserad autentisering.
Figur: Ett sekvensdiagram som visar API-baserad autentisering.
Steg | Flöde |
---|---|
1 | API-användaren gör ett POST anrop till Nedan ser du ett exempel på cUrl-anrop för att använda curl -i -X POST \ https://api.spotnana.com/get-auth-token \ -H 'Content-Type: application/json' \ -d '{ "clientId": "sample-apiuser@tmcorg.com", "clientSecret": "<password>" }' Observera: Ersätt |
2 |
|
När API-användaren har fått bearer token måste alla efterföljande anrop till Spotnanas API:er (till exempel Trip APIs) inkludera bearer token i headern för att få åtkomst.
Observera: Endpointen get-auth-token(clientId, clientSecret)
har en begränsning på 100 API-anrop per 5 minuter.
iFrame-baserad autentisering
Med iFrame eller inbäddad lösning menas att partnern bäddar in Spotnana UI i sitt eget gränssnitt, så att användarna når Spotnana via partnerns UI. I detta fall sker autentiseringen genom tokenutbyte mellan partnerns och Spotnanas system.
Observera: Vid iFrame-baserad autentisering kallas den användare som loggar in för caller. Detta för att kunna hantera scenarier där en API-/maskinanvändare loggar in och begär en access token för någon annan användare. API-/maskinanvändaren kan till exempel vara en TMC-administratör som kopplar upp sig direkt mot Spotnanas server. Därför används caller som ett samlingsbegrepp, och kan syfta både på en användare som loggar in på sitt eget konto eller en API-/maskinanvändare som begär en access token för någon annan.
Nedan visas ett sekvensdiagram över hur autentiseringsflödet hanteras via tokenutbyte mellan Spotnana och partnerns servrar.
Figur: Ett sekvensdiagram som visar iFrame-baserad autentisering via tokenutbyte.
Steg | Flöde |
---|---|
En caller loggar in via partnerns UI. | |
1 | Partnerns UI visar Spotnana UI via en iFrame. |
2 | Spotnana UI skickar en förfrågan till partnerns UI via post message för att hämta tokens. Förfrågan skickas med type=TOKEN_EXCHANGE_REQUEST . |
3 | Partnerns UI skickar en API-förfrågan till partnerns server för att hämta OAuth-token och påbörjar nästa steg i autentiseringsflödet. |
3 a | Partnerns server anropar Spotnanas server med användaruppgifter och subject token som parametrar. Spotnanas server kontrollerar om förfrågan kommer från en API-/maskinanvändare. |
3 b |
|
3 c |
|
4 | Partnerns UI skickar token till Spotnana UI via post message med |
5 |
Observera: När en bearer token har skapats innebär det att användaren är autentiserad och har tillgång till Spotnana. |
6 |
|
Autentisering med auktoriseringskod
Nedan visas ett sekvensdiagram över hur autentiseringsflödet hanteras med hjälp av en auktoriseringskod.
Figur: Ett sekvensdiagram som visar autentisering med auktoriseringskod.
Steg | Flöde |
---|---|
1 | Partnerns UI anropar partnerns server för att hämta auktoriseringskoden för den caller som loggar in. Koden hämtas och skickas tillbaka till partnerns UI. |
2 | Partnerns UI skickar en förfrågan till Spotnana UI via en anpassad redirect-URL som innehåller |
3 | Spotnana UI gör ett POST API-anrop till Spotnanas server med |
3 a |
|
3 b | Access token och refresh token genereras av Spotnanas server och skickas till Spotnana UI. |
4 |
Observera: När en bearer token har skapats innebär det att användaren är autentiserad och har tillgång till Spotnana. |
5 |
|
Observera: Detta autentiseringsflöde kan inte användas om en TMC-administratör tillåter att flera användare loggar in med samma e-postadress.
Maskin-till-maskin (M2M) autentisering
M2M-autentisering är lämplig när klientapplikationen behöver gå via en extern callback-URL för att skapa en accessToken
till användaren. Sekvensdiagrammet nedan visar hur M2M-autentisering går till.
Figur: Ett sekvensdiagram som visar M2M-autentiseringsflöde.
Steg | Flöde |
---|---|
De publika nycklarna för samtliga applikationer som används i autentiseringen synkroniseras mellan Spotnanas server och Spotnana IdP. Dessa används senare för att verifiera access token under autentiseringsflödet. | |
1 | Partnerns server skickar en API-förfrågan till |
2 |
|
3 |
|
Var artikeln till hjälp?
Toppen!
Tack för din feedback
Vi beklagar att det inte var till hjälp
Tack för din feedback
Feddback skickat
Vi uppskattar din feedback och uppdaterar artikeln vid behov