Läs om hur OpenID Connect förbättrar autentiseringen genom att bygga på OAuth 2.0-protokollet för att tillhandahålla ett säkert, standardiserat sätt att autentisera användare.
Innehållsförteckning
- Vad är OpenID Connect?
- Hur OIDC fungerar
- Vad är OAuth 2.0?
- Fördelar med OIDC
- ID-tokens förklarade
- Genomförande av OIDC
- Säkerhetsöverväganden
- Felsökning
- Ordlista
Vad är OpenID Connect?
OpenID Connect (OIDC) är ett identitetslager som bygger på OAuth 2.0-protokollet. Det gör det möjligt för klienter (som Esadax) att verifiera användarnas identitet baserat på autentisering som utförs av en auktoriseringsserver.
- Utvecklat av OpenID Foundation.
- Allmänt antagen i moderna webb- och mobilapplikationer.
- Används av Google, Microsoft, Auth0, Okta med flera.
Hur OIDC fungerar
- Användaren försöker logga in på klientprogrammet.
- Klienten omdirigerar användaren till identitetsleverantören (IdP).
- Användaren autentiserar med IdP:n (t.ex. användarnamn + lösenord, 2FA).
- IdP omdirigerar tillbaka till klienten med en ID-token och (valfritt) en åtkomsttoken.
- Klienten verifierar ID-tokenets signatur och anspråk.
- Användaren autentiseras och en session skapas.
Vad är OAuth 2.0?
| Funktion |
OAuth 2.0 |
OpenID Connect (OIDC) |
| Syfte |
Godkännande |
Autentisering |
| Typ av token |
Åtkomsttoken |
ID-token + åtkomsttoken |
| Användaridentitet |
Inte garanterat |
Uttryckligen tillhandahållna |
| Åtkomst till profildata |
Kräver extra omfång |
Stöds via openid-scope |
| Standardiserade påståenden |
Nej. |
- Ja. |
✅ OIDC = OAuth 2.0 + identitet + standardiserad användarinfo.
Fördelar med OIDC
- Interoperabilitet: Standard över många leverantörer och plattformar.
- Säkerhet: Använder signerade tokens och beprövade flöden.
- Flexibilitet: Fungerar för webbappar, mobilappar och API:er.
- Skalbarhet: Perfekt för distribuerade system eller system med flera klienter.
- Federated Identity: En inloggning fungerar för många tjänster.
ID-tokens förklarade
En ID Token är en JWT (JSON Web Token) som innehåller information om användaren.
- Vanliga påståenden:
sub: Ämne (användar-ID)
email: Användarens e-post
name: Fullständigt namn
iat: Utfärdat kl.
expUtgångsdatum
iss: Utfärdare
aud: Målgrupp (din app)
Exempel på avkodad ID-token-nyttolast:
{
"sub": "1234567890",
"name": "Jane Doe",
"email": "jane@esadax.com",
"iat": 1692547200,
"exp": 1692550800,
"iss": "https://auth.provider.com",
"aud": "esadax-app"
}
Genomförande av OIDC
-
Välj en leverantör: Google, Auth0, Okta eller egen värd (t.ex. Keycloak).
-
Registrera din ansökan: Skaffa ett klient-ID och klienthemlighet.
-
Omdirigera användare till leverantören:
- Inkludera
response_type=code och scope=openid.
-
Hantera återuppringning:
- Byt ut koden mot tokens med hjälp av leverantörens
/token-slutpunkt.
-
Verifiera ID-token:
- Kontrollera signaturen,
aud, exp, och andra påståenden.
-
Skapa session:
- Använd token-data för att autentisera användaren i ditt system.
Säkerhetsöverväganden
- Validera alltid ID-tokens på serversidan.
- Använd HTTPS för att undvika token avlyssning.
- Ställ in korta tokenlivstider och rotera hemligheter.
- Verifiera
nonce för att förhindra replay-attacker.
- Använd PKCE (Proof Key for Code Exchange) för offentliga klienter som SPA:er och mobilappar.
Felsökning
Ordlista
- OIDC: OpenID Connect, ett identitetslager ovanpå OAuth 2.0.
- OAuth 2.0: Ett protokoll för att auktorisera åtkomst till resurser.
- IdP: Identitetsleverantör (t.ex. Google, Okta) som autentiserar användaren.
- ID Token: En JWT som bekräftar användarens identitet.
- Åtkomsttoken: En token som används för att komma åt skyddade API:er.
- PKCE: Säkerhetstillägg till OAuth 2.0 för offentliga klienter.