Integration av OAuth2 och social inloggning
Delegera autentiseringen till betrodda leverantörer som Google och GitHub med Spring Securitys inbyggda stöd för OAuth2-klienter.
Integration av OAuth2 och social inloggning är en gratis lektion i Spring Boot 4 – komplett guide på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Spring Boot 4 – komplett guide, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Spring Boot 4 – komplett guide innehåller totalt 4 lektioner.
Vad är OAuth2?
OAuth2 är ett protokoll som låter användare ge Er app begränsad åtkomst till sin identitet hos en annan leverantör utan att dela sitt lösenord. Det används bland annat för Login with Google och GitHub.
Roller i OAuth2
Tre aktörer är viktiga: användaren (resursägaren), Er app (klienten) och auktoriseringsservern (leverantören). Spring samordnar handskakningen mellan dem.
Flödet med auktoriseringskod
Det vanligaste flödet omdirigerar användaren till leverantören, som returnerar en auktoriseringskod. Er app byter koden mot tokens i bakgrunden.
- Omdirigera till leverantören
- Användaren godkänner
- Ta emot kod och byt den mot en token
Lägga till OAuth2-klientens starter
Spring Security levereras med en starter för OAuth2-klienter som hanterar hela flödet åt Er. Lägg till beroendet för att komma igång.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>Registrera en leverantör
Konfigurera klient-ID och hemlighet i properties. Spring känner redan till endpoints för vanliga leverantörer som Google.
spring.security.oauth2.client.registration.google.client-id=YOUR_ID
spring.security.oauth2.client.registration.google.client-secret=YOUR_SECRETAktivera inloggning
Anropa oauth2Login() i Er säkerhetskonfiguration för att automatiskt koppla in inloggningssidan och hanteringen av callback-anrop.
http.authorizeHttpRequests(a -> a.anyRequest().authenticated())
.oauth2Login(Customizer.withDefaults());Läsa den autentiserade användaren
Efter inloggningen injicerar Ni OAuth2User för att komma åt profilattribut som namn och e-postadress som leverantören returnerar.
@GetMapping("/me")
public String me(@AuthenticationPrincipal OAuth2User user) {
return user.getAttribute("email");
}Mappa leverantörens roller
Leverantörer returnerar sina egna attribut. Ofta mappar Ni dem till Er applikations auktoriteter så att Era befintliga åtkomstregler fortfarande gäller.
OAuth2 jämfört med OpenID Connect
OAuth2 handlar om auktorisering, medan OpenID Connect lägger till ett identitetslager med en ID-token. De flesta sociala inloggningar använder OIDC i bakgrunden för autentisering.
Spara användare
Vid den första inloggningen skapar Ni vanligtvis en lokal användarpost med leverantörens unika ID som nyckel och kopplar den externa identiteten till Er egen datamodell.
Säkerhetsaspekter
Validera alltid redirect-URI:er, håll klienthemligheter borta från versionshanteringen och begär endast de scopes Ni faktiskt behöver.
Snabbkontroll
Testa Era kunskaper om OAuth2-inloggning.
Sammanfattning
Ni har lagt till stöd för OAuth2-klienter, registrerat en leverantör, aktiverat oauth2Login() och läst den autentiserade användaren. Med social inloggning kan Ni överlåta lösenordshanteringen till betrodda leverantörer.
Lär dig Java med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 21
- Lektioner
- 84
Vanliga frågor
Är lektionen ”Integration av OAuth2 och social inloggning” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Spring Boot 4 – komplett guide, inklusive ”Integration av OAuth2 och social inloggning”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Spring Boot 4 – komplett guide innehåller totalt 4 lektioner.
Vad lär jag mig i ”Integration av OAuth2 och social inloggning”?
Delegera autentiseringen till betrodda leverantörer som Google och GitHub med Spring Securitys inbyggda stöd för OAuth2-klienter. Ni övar på Spring Boot 4 – komplett guide med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Spring Boot 4 – komplett guide?
Du behöver inga förkunskaper. Utbildningen i Spring Boot 4 – komplett guide på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Integration av OAuth2 och social inloggning”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Spring Boot 4 – komplett guide-lektionen?
Ja. Varje Spring Boot 4 – komplett guide-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Grunderna i Spring Security
- Autentisering och auktorisering
- Säkerhet baserad på JWT
- Integration av OAuth2 och social inloggning