Hur fungerar företags autentiseringsflöden?
Allt fler applikationer förflyttas från att hanteras lokalt i ett företag till att hamna i molnet. Då antalet applikationer kan bli många så har single sign-on-lösningar (SSO) blivit allt viktigare för att hantera alla användare och deras rättigheter. Med SSO slipper en anställd logga in i varje applikation, så som mail, Office eller användarportal, på sin dator utan behöver endast logga in en gång – därav namnet single sign-on. Detta gör också att det finns en central plats för alla konton, lösenord och användaruppgifter. Men trots de många fördelar som SSO medför är det inte alltid en enkel process att sätta upp ett autentiseringsflöde.
Att sätta upp en SSO-lösning kan alltså vara en komplicerad uppgift, inte minst med tanke på de många säkerhetsaspekter som behöver tas i åtanke. Utöver det finns även en mängd olika sätt att konfigurera lösningen på. Något som kan underlätta i arbetet med detta är att sätta upp ett enklare autentiseringsflöde för att få en bättre förståelse innan det svårare flödet konfigureras, vilket jag kommer berätta om i detta inlägg och beskriva mer detaljerat i kommande artiklar (den första artikeln finns länkad längst ner i inlägget).
En SSO-lösning som ofta används inom företag är ADFS (Active Directory Federation Service). Nyligen behövde jag använda ADFS för att sätta upp autentisering och auktorisering för en applikation som behövde kommunicera med ett API (application programming interface) på ett säkert sätt. I mitt fall så ville jag säkerhetsställa att det bara var min applikation, och ingen obehörig, som kunde prata med API:et. Detta var en intressant process med många steg inblandade och jag bestämde mig därför för att skriva ett antal artiklar som kan fungera som tutorials för att hjälpa mig själv och andra i framtiden.
Kommunikationen mellan ADFS, API:et och applikationen kan efterliknas vid ett nöjesfält där vi behöver köpa en biljett till den åkattraktion som vi vill åka. Med biljetten kan vi åka hur mycket vi vill under en begränsad tid. Därefter behöver vi köpa en ny biljett. I denna analogi så säljer ADFS biljetten, API:et är åkattraktionen och vi själva är applikationen som ska prata med API:et.
I den första artikeln jag tagit fram beskrivs konfigurationen av detta flöde vilket kan vara en bra första guide för att lära sig hur ADFS fungerar. Jag går även igenom de olika inställningar som finns i ADFS och vad de har för inverkan. Efter att ha konfigurerat ADFS så kommer jag testa kommunikationen samt förklara de olika egenskaperna som finns i biljetten som används. Då det är många termer inblandade samt att det finns en hel del synonymer för dessa så kan det lätt bli förvirrande, vilket jag också kommer tydliggöra kring. Tycker du detta låter intressant så kan du läsa vidare i artikeln på LinkedIn här (endast tillgänglig på engelska).