Kurs i OpenID Connect och OAuth

Lär dig hur OpenID Connect och OAuth fungerar: flows, tokens, scopes och claims, på protokollnivå.

Tillbaka till kurserna

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

Tore Nestenius föreläser om autentisering hos Copenhagen .NET User Group

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:

Kursen Introduktion till OpenID Connect och OAuth

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:

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:

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.

Tore Nestenius håller kursen Introduktion till OpenID Connect och OAuth

Resurser

Jag skriver ofta om OpenID Connect och autentisering på min blogg. Några av inläggen som passar till den här kursen:

Fler viktiga resurser:

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.

Tore Nestenius, utbildare i OpenID Connect och OAuth

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.

Hör av dig

Kontakt