Kurs i OpenID Connect och OAuth
Lär dig hur OpenID Connect och OAuth fungerar: flows, tokens, scopes och claims, på protokollnivå.
OpenID Connect och OAuth ligger bakom de flesta inloggningar och API-åtkomster idag, men de har många delar: flows, tokens, scopes, claims och en lång lista med specifikationer. På den här endagskursen lär du dig hur de fungerar på HTTP-nivå, så att du kan bygga säkra identitetslösningar och hitta felet när något går snett.
Målet med kursen är att du ska lära dig hur OAuth och OpenID Connect fungerar på protokollnivå. Kursen innehåller ingen programmering, så du kan delta oavsett vilket programmeringsspråk eller vilken plattform du arbetar med. Vilken OpenID Provider du än använder (Duende IdentityServer, Keycloak, Entra ID (Azure AD) eller någon annan) är kursen för dig.
Det här lär du dig
- Autentisering och auktorisering, och skillnaden
- Hur OAuth 2.x och OpenID Connect fungerar
- Grundläggande koncept
- Hur en klient autentiserar sig mot en authorization server
- Hur du hämtar och använder JWT-tokens
- Hur OpenID Connect passar in i din arkitektur
- Hur tokens skyddas och hanteras
Kursen har många praktiska övningar som visar hur protokollet fungerar under huven.
Efter kursen rekommenderar jag kursen Webbsäkerhet. Autentisering bygger på webbsäkerhet, så de passar bra ihop.
Vem är kursen för?
Utvecklare, testare och arkitekter, nya eller erfarna, som vill förstå grunderna i applikationssäkerhet med OAuth 2 och OpenID Connect.
Förkunskaper
Du bör ha en god förståelse för:
- HTTP-protokollet, inklusive metoder, headers och cookies
- Hur webben fungerar i stort
- REST API:er och JSON
- Viss erfarenhet av att utveckla backend för webben
Agenda
Under kursen går vi igenom följande ämnen.
- Introduktion
- Autentisering och auktorisering, och skillnaden
- Våra utmaningar
- Versioner av OAuth
- OAuth och OpenID Connect
- Token service
- Authorization server
- Relying party
- Typer av tokens
- Bearer token
- Serverimplementationer
- Arkitektur för identitet
- Service endpoints
- Discovery document
- Implicit flow
- Hur flödet fungerar
- Varför det inte längre rekommenderas
- JWT-tokens
- ID tokens och access tokens
- JSON Web Tokens
- JWT access tokens
- Claims och scopes
- Vad är claims?
- Typer av claims
- Scopes
- Användarens samtycke
- Skydda tokens
- Osäkra tokens
- Signerade tokens
- Signeringsalgoritmer
- Privata och publika nycklar
- Krypterade tokens
- Authorization code flow
- Publika och privata klienter
- Front channel och back channel
- Hämta tokens
- Refresh tokens
- Refresh tokens för engångsbruk
- Använda refresh token
- Token introspection
- Client credentials flow
- Proof Key for Code Exchange (PKCE)
- State och nonce
- Single sign-on och sign-out
- Backend for Frontend (BFF)
- OAuth 2.1

Därför ska du lära dig OIDC och OAuth
Allt fler system bygger på OpenID Connect (OIDC) för autentisering, så utvecklare, testare och arkitekter behöver en god förståelse för grundprinciperna. Det är ofta svårt att komma in i OIDC, eftersom det har många delar, specifikationer och koncept, som bilden nedan visar:

Utan en tydlig förståelse för grunderna riskerar implementationer att få säkerhetshål. Exempel från verkligheten visar vad sådana brister kan leda till:
- Critical vulnerabilities in JSON Web Token libraries
- Severe Security Flaw Found in “jsonwebtoken” Library Used by 22,000+ Projects
- Zero-day in Sign in with Apple
- Critical OAuth Flaws Uncovered in Grammarly, Vidio, and Bukalapak Platforms
Kursen Introduktion till OpenID Connect och OAuth ger dig en stabil startpunkt.
Vill du gå djupare på egen hand? Min videokurs Getting Started: OpenID Connect går mycket längre in på protokollet.
Vanliga frågor om kursen
Här är svar på vanliga frågor om kursen.
Vad är OAuth och OpenID Connect?
OAuth är en standard som låter en applikation komma åt ett API för en användares räkning. OpenID Connect bygger på OAuth och lägger till inloggning, så att applikationen också vet vem användaren är. En introduktion till begreppen finns i min guide OpenID Connect for Developers.
Behöver jag installera någon programvara på min dator?
Nej, du behöver inte installera något. Varje deltagare får tillgång till en Windows-baserad virtuell maskin där alla praktiska övningar sker. Du ansluter bara till den virtuella maskinen med Remote Desktop, så du kan delta utan att oroa dig för begränsningar på din dator eller ditt nätverk. Alla får samma miljö, färdig att använda.
Hur testar jag om jag kan ansluta till den virtuella maskinen?
Vill du kontrollera din anslutning före kursen kan du kontakta mig, så ger jag dig en testmaskin att prova med. Det är bra att testa i förväg, så att du vet att ditt nätverk tillåter utgående Remote Desktop-anslutningar och vi slipper anslutningsproblem när kursen börjar.
Vad gör jag om jag har en Mac eller Linux?
Har du Mac eller Linux måste du före kursen kunna ansluta till en Windows-baserad virtuell maskin med Remote Desktop. Här är några rekommenderade resurser:
- Remmina – Remote Desktop-klient för Linux.
- How to Use Remote Desktop in Linux or macOS to Connect to Windows 10
- Microsoft Remote Desktop – Mac App Store
Ordna det i förväg, så går det smidigt att ansluta under kursen. Jag kan tyvärr inte ge teknisk support för Mac eller Linux.
Är kursen gjord för en viss authorization server?
Nej, det är en allmän kurs som passar vilken OpenID Connect-server som helst, till exempel Duende IdentityServer, Keycloak eller Entra ID. Kursen fokuserar på principerna i OAuth och OpenID Connect, inte på en viss tjänst.
Vad behöver jag göra före kursen?
Skicka mig de frågor du vill att jag tar upp under kursen. Läs välkomstbrevet du får före kursen. Jag rekommenderar en stor skärm, så att du kan se övningsdokumentet (som PDF) bredvid fjärrmaskinen medan du gör övningarna.
Ingår det programmering?
Nej, kursen kräver ingen programmering. Fokus ligger på att förstå koncepten i OpenID Connect och OAuth, utan koppling till någon särskild plattform, implementation eller något särskilt språk.
Det här ingår
När du går kursen Introduktion till OpenID Connect och OAuth får du:
- Kursmaterial: Jag har skrivit materialet själv och uppdaterar det regelbundet så att det följer aktuell praxis. Du får presentationen och övningarna som PDF, och deltagare på plats får också övningarna utskrivna på papper.
- Praktiska övningar: Du övar de viktigaste flödena och protokollen på HTTP-nivå, mot en dedikerad authorization server.
- Löpande support: Under och efter kursen får du tillgång till en privat chatt för extra material, frågor och uppdateringar.
- Live och interaktivt: Du kan ställa frågor i chatten eller muntligt och få svar direkt. Jag visar också demos live.

Resurser
Jag skriver ofta om OpenID Connect och autentisering på min blogg. Några av inläggen som passar till den här kursen:
- Demystifying OpenID Connect’s State and Nonce Parameters in ASP.NET Core
- Debugging JwtBearer Claim Problems in ASP.NET Core
- Debugging OpenID Connect Claim Problems in ASP.NET Core
- Debugging cookie problems in ASP.NET Core
Fler viktiga resurser:
- OpenID Connect for Developers
- The OAuth 2.1 Authorization Framework
- OpenID Foundation
- OpenID Connect Core 1.0 specification
Efter kursen
Efter kursen erbjuder jag löpande stöd så att du kan använda det du har lärt dig:
- Konsult inom OpenID Connect och OAuth: Personlig vägledning när du ska få till säker autentisering och auktorisering i dina projekt.
- Duende IdentityServer: Coachning och stöd för team som använder Duende IdentityServer: implementation, konfiguration och anpassning.
- Arkitekturgranskning och coachning: Behöver du en arkitekturgranskning eller riktad coachning? Jag erbjuder bedömningar och råd för att förbättra säkerhet och prestanda.
- Utbildning och kurser för team: Anpassade utbildningstillfällen som ger teamet bättre förståelse för OpenID Connect, OAuth och viktiga säkerhetsrutiner.
Om utbildaren
Jag heter Tore Nestenius. Jag undervisar på plats och på distans, både direkt åt företag och via utbildningsföretag i Europa. Lite om min bakgrund:
- Jag har utbildat utvecklare sedan 2010 och hållit flera hundra kurser och föredrag.
- Jag tar fram, underhåller och håller varje kurs själv, och förbättrar den efter varje tillfälle.
- Jag är Microsoft .NET MVP.
- Jag har skrivit över 1 100 svar på Stack Overflow, främst om autentisering, säkerhet och .NET/C#.
- Jag var med och grundade Edument, ett svenskt utbildnings- och konsultföretag, där jag var CTO, utvecklare och utbildare.
- Jag arbetar som senior .NET-konsult, så jag undervisar utifrån verkliga projekt.
- Jag har arbetat med .NET och C# sedan 2002.
- Jag har certifieringarna Azure AZ-204 och AZ-900.
- Jag var med och grundade användargruppen .NET Skåne.
Följ mig
Följ mig på LinkedIn för att få mina senaste uppdateringar om blogginlägg, kommande föredrag, webbinarier och mer.

Introduktion till
OIDC och OAuth
Längd
1 dag
Nivå
Nybörjare
Språk
Kursen hålls på svenska eller engelska.
Vanliga frågor om utbildning
Erbjuder du utbildning både på plats och på distans?
Ja, jag erbjuder båda.
Erbjuder du utbildning på både svenska och engelska?
Ja, båda går bra. Allt kursmaterial är på engelska, och jag kan hålla kursen på svenska eller engelska.
Håller du halvdagar?
På plats kör jag oftast hela dagar. På distans kan jag erbjuda både halva och hela dagar.
Håller du webbinarier och kortare föredrag?
Ja, se min sida om föredrag.
Kan du anpassa kurser?
Ja. Vill du veta mer? Boka ett förutsättningslöst möte.