Opsætning af OAuth2-client
Konfigurer Deres applikation til at fungere som en OAuth2-client ved at definere registreringsoplysninger for forskellige providers.
Opsætning af OAuth2-client er en gratis Spring Security 6 og JWT-godkendelse-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Spring Security 6 og JWT-godkendelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Spring Security 6 og JWT-godkendelse-kurset indeholder 4 lektioner i alt.
Hvad er en OAuth2-klient?
I OAuth2 er en OAuth2-klient en applikation, der på vegne af en bruger vil have adgang til ressourcer på en ressourceserver. Du kan se det som, at din app beder om tilladelse til at bruge en anden tjeneste (f.eks. Google eller GitHub) på dine vegne.
Det er ikke brugeren, men en applikation, der handler på brugerens vegne.
Hvorfor konfigurere vores app?
Hvis din applikation skal bruge en ekstern tjenestes API (f.eks. hente brugerprofiler eller slå opdateringer op), skal tjenesten kunne genkende den. Denne genkendelsesproces kaldes klientregistrering.
- Din app får en unik identitet.
- Tjenesten ved, hvem der anmoder om adgang.
- Det muliggør sikker kommunikation og autorisation.
Vigtige oplysninger om klientregistrering
Når du registrerer din applikation hos en OAuth2-autorisationsserver (den tjeneste, der giver adgang), angiver og modtager du typisk:
- Klient-id: En offentlig identifikator for din applikation.
- Klienthemmelighed: En fortrolig nøgle, der bruges til at godkende din app.
- Omdirigerings-URI'er: Det sted, hvor autorisationsserveren sender brugeren tilbage efter autorisationen.
Spring Security som OAuth2-klient
Spring Security gør det meget nemt at konfigurere din Spring Boot-applikation til at fungere som en OAuth2-klient. Den håndterer automatisk en stor del af det komplekse OAuth2-flow.
Du skal blot angive de nødvendige registreringsoplysninger for den eksterne tjeneste, du vil oprette forbindelse til.
Konfigurationsfil for klienten
Spring Securitys OAuth2-klientkonfiguration findes primært i din application.yml- eller application.properties-fil.
Du bruger to primære præfikser:
spring.security.oauth2.client.registration: Definerer oplysninger om din apps registrering hos en bestemt udbyder.spring.security.oauth2.client.provider: Definerer oplysninger om selve OAuth2-udbyderen (f.eks. dens autorisationsendepunkt).
Opsætning af en udbyder
Under spring.security.oauth2.client.provider.[provider-name] definerer du endepunkterne for den eksterne OAuth2-tjeneste. For eksempel for en udbyder med navnet github:
authorization-uri: Hvor brugere går hen for at godkende din app.token-uri: Hvor din app udveksler koder for tokens.user-info-uri: Hvor din app henter brugeroplysninger.
Spring Boot kan ofte konfigurere disse automatisk for populære udbydere, hvis du blot angiver client-id og client-secret.
Registrering af din klientapp
Under spring.security.oauth2.client.registration.[registration-id] angiver du din apps unikke registreringsoplysninger for en given udbyder. registration-id fungerer som et unikt navn for din specifikke klientkonfiguration.
provider: Knytter til en defineret udbyder (f.eks.github).client-id: Din apps offentlige id.client-secret: Din apps hemmelige nøgle.redirect-uri: Callback-URL'en.scope: De tilladelser, din app anmoder om (f.eks.read:user).authorization-grant-type: Det OAuth2-flow, der bruges (f.eks.authorization_code).
Eksempel: Opsætning af en GitHub-klient
Lad os se på et konkret eksempel med GitHub. Først skal du registrere din applikation i GitHubs udviklerindstillinger for at få et klient-id og en klienthemmelighed.
Konfigurer derefter din application.yml:
spring:
security:
oauth2:
client:
registration:
github:
client-id: your-github-client-id
client-secret: your-github-client-secret
redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"
scope: read:user,user:email
provider:
github:
authorization-uri: https://github.com/login/oauth/authorize
token-uri: https://github.com/login/oauth/access_token
user-info-uri: https://api.github.com/userMinimal Spring Boot-app
For at aktivere OAuth2-klientfunktionalitet skal du sikre dig, at du har afhængigheden spring-boot-starter-oauth2-client. Spring Boot registrerer automatisk konfigurationen og opsætter de nødvendige filtre.
Her er et grundlæggende startpunkt for en Spring Boot-applikation:
package com.coddykit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.security.Principal;
@SpringBootApplication
@RestController
public class Oauth2ClientApp {
public static void main(String[] args) {
SpringApplication.run(Oauth2ClientApp.class, args);
}
@GetMapping("/")
public String welcome(Principal principal) {
if (principal != null) {
return "Hello, " + principal.getName() + "! You are logged in with OAuth2.";
}
return "Hello! Please log in with OAuth2.";
}
}Det automatiserede OAuth2-flow
Når konfigurationen er på plads, gør Spring Security automatisk følgende:
- Omdirigerer brugere, der ikke er godkendt, til den konfigurerede autorisationsservers login-side.
- Håndterer udvekslingen af autorisationskoden, efter brugeren har givet tilladelse.
- Henter brugeroplysninger fra
user-info-uri. - Udfylder
SecurityContextmed den godkendte bruger.
Det gør det væsentligt enklere at implementere OAuth2-klientlogik.
Hurtigt tjek: Klientkonfiguration
Du opsætter en Spring Boot-applikation, der skal fungere som OAuth2-klient for en ekstern tjeneste. Hvilken af følgende egenskaber bruges primært til at identificere din applikation over for den eksterne tjeneste og bør holdes fortrolig?
Opsummering: Opsætning af en OAuth2-klient
Du har lært, hvordan du konfigurerer din Spring Boot-applikation som en OAuth2 Client. Vi gennemgik:
- Rollen for en OAuth2 Client.
- Vigtige konfigurationsegenskaber som
client-idogclient-secret. - Hvordan du bruger
application.ymltil registrering af client og provider. - Spring Securitys automatiske håndtering af OAuth2-flowet.
Nu dykker vi ned i integrationen af specifikke sociale loginudbydere som Google og GitHub!
Lær Java med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Opsætning af OAuth2-client” gratis?
Ja — alle 3 lektioner i læringssporet Spring Security 6 og JWT-godkendelse, inklusive “Opsætning af OAuth2-client”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Spring Security 6 og JWT-godkendelse-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Opsætning af OAuth2-client”?
Konfigurer Deres applikation til at fungere som en OAuth2-client ved at definere registreringsoplysninger for forskellige providers. Du øver dig i Spring Security 6 og JWT-godkendelse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Spring Security 6 og JWT-godkendelse?
Der kræves ingen tidligere erfaring. Spring Security 6 og JWT-godkendelse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Opsætning af OAuth2-client”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Spring Security 6 og JWT-godkendelse-lektion?
Ja. Alle Spring Security 6 og JWT-godkendelse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Opsætning af OAuth2-client
- Integration af socialt login
- Brugerdefineret OAuth2-success handler
- Adgang til den godkendte OAuth2-bruger