Gå till innehållet

Auth-systemet består av många komponenter:

  • Ett frontend-library som hanterar auth på hemsidan som använder vår auth (initiera login, refresha access-token)
  • En frontend som visar alla login-skärmar mm
  • En backend som faktiskt validerar någons identitet och har hand om alla nyklar.
  • Ett backend-library som gör att man enkelt i olika backends kan extrahera den inloggade användaren och ta emot datan som auth backenden skickar när en användare loggar in på tjänsten.

Lite kort om systemet

  • Hemsida = någon hemsidan som behöver verifiera identitet (typ https://teknologappen.se)
  • Provider = ett sätt att logga in (LU, mail)

  • hemsidan kan visa de providers den vill acceptera
  • när användaren klickar en av dessa kommer den (oftast) till auth-frontenden. Antingen genom att omdirigeras till den andra sidan eller genom att öppna en iframe (iframe används t.ex. i appen där vi inte kan dirigera om användaren till en annan hemsida) Här hämtas en del data som används för att verifiera användaren.
  • efter godkännande av att dela personuppgifter förs användaren tillbaka till ursprungssidan
  • hemside-backenden har fått en POST-request av auth-backenden om användaren som precis loggade in, så hemside-backenden kan lägga in denne i sitt egna anvädarregister.
  • hemside-frontenden hämtar en access-token m.h.a. frontend-libraryt från auth-backenden, och gör detta ungefär en gång i halvtimmen
  • hemside-backenden kan nu validera att användaren är inloggad genom att titta på access-tokenen och kryptografiskt verifiera att tokenen kommer från auth-backenden. Detta sker genom backend-libraryt's User struct.