OAuth2-asiakkaan määritys
Määritä sovelluksesi toimimaan OAuth2-asiakkaana ja määritä eri palveluntarjoajien rekisteröintitiedot.
OAuth2-asiakkaan määritys on ilmainen Spring Security 6 ja JWT-todennus-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Spring Security 6 ja JWT-todennus-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Spring Security 6 ja JWT-todennus-kurssilla on yhteensä 4 oppituntia.
Mikä OAuth2 Client on?
OAuth2:ssa OAuth2 Client on sovellus, joka haluaa käyttää resursseja käyttäjän puolesta Resource Server -palvelimelta. Ajatelkaa sitä sovelluksena, joka pyytää lupaa käyttää toista palvelua (kuten Googlea tai GitHubia) käyttäjän puolesta.
Kyseessä ei ole käyttäjä, vaan käyttäjän puolesta toimiva sovellus.
Miksi sovelluksemme pitää määrittää?
Jotta sovelluksesi voi käyttää ulkoisen palvelun API:a (esimerkiksi hakea käyttäjäprofiileja tai julkaista päivityksiä), palvelun täytyy tunnistaa se. Tätä tunnistamisprosessia kutsutaan nimellä client registration.
- Sovelluksesi saa yksilöllisen identiteetin.
- Palvelu tietää, kuka käyttöoikeutta pyytää.
- Se mahdollistaa turvallisen viestinnän ja valtuutuksen.
Asiakasrekisteröinnin keskeiset tiedot
Kun rekisteröit sovelluksesi OAuth2:n Authorization Server -palvelimelle (käyttöoikeuksia myöntävälle palvelulle), annat ja saat yleensä seuraavat tiedot:
- Client ID: Sovelluksesi julkinen tunniste.
- Client Secret: Luottamuksellinen avain, jota käytetään sovelluksesi todentamiseen.
- Redirect URI(s): Osoite, johon Authorization Server ohjaa käyttäjän takaisin valtuutuksen jälkeen.
Spring Security OAuth2 Client -asiakkaana
Spring Securityn avulla Spring Boot -sovelluksen määrittäminen OAuth2 Client -asiakkaaksi on erittäin helppoa. Se käsittelee suuren osan monimutkaisesta OAuth2-kulusta automaattisesti.
Teidän tarvitsee vain antaa yhdistettävän ulkoisen palvelun tarvittavat rekisteröintitiedot.
Asiakkaan määritystiedosto
Spring Securityn OAuth2-asiakkaan määritykset sijaitsevat pääasiassa application.yml- tai application.properties-tiedostossa.
Käytätte kahta pääetuliitettä:
spring.security.oauth2.client.registration: Määrittää sovelluksen rekisteröinnin tiettyä palveluntarjoajaa varten.spring.security.oauth2.client.provider: Määrittää itse OAuth2-palveluntarjoajan tiedot, kuten sen valtuutuspäätepisteen.
Palveluntarjoajan määrittäminen
Määritätte ulkoisen OAuth2-palvelun päätepisteet kohdassa spring.security.oauth2.client.provider.[provider-name]. Esimerkiksi palveluntarjoajalle nimeltä github:
authorization-uri: Osoite, jossa käyttäjät valtuuttavat sovelluksesi.token-uri: Osoite, jossa sovelluksesi vaihtaa koodit tunnisteiksi.user-info-uri: Osoite, josta sovelluksesi hakee käyttäjän tiedot.
Usein Spring Boot voi määrittää nämä automaattisesti suosituille palveluntarjoajille, kun annat vain client-id- ja client-secret-arvot.
Asiakassovelluksen rekisteröinti
Määritätte sovelluksen yksilölliset rekisteröintitiedot tiettyä palveluntarjoajaa varten kohdassa spring.security.oauth2.client.registration.[registration-id]. registration-id toimii oman asiakasmäärityksesi yksilöllisenä nimenä.
provider: Viittaus määritettyyn palveluntarjoajaan, esimerkiksigithub.client-id: Sovelluksesi julkinen tunniste.client-secret: Sovelluksesi salainen avain.redirect-uri: Takaisinkutsun URL-osoite.scope: Käyttöoikeudet, joita sovelluksesi pyytää, esimerkiksiread:user.authorization-grant-type: Käytettävä OAuth2-kulku, esimerkiksiauthorization_code.
Esimerkki: GitHub-asiakkaan määritys
Tarkastellaan konkreettista GitHub-esimerkkiä. Rekisteröisitte ensin sovelluksen GitHubin kehittäjäasetuksissa saadaksenne Client ID- ja Client Secret -arvot.
Määrittäkää sitten application.yml-tiedosto:
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/userMinimaalinen Spring Boot -sovellus
Varmistakaa OAuth2-asiakastoiminnallisuuden käyttöönottoa varten, että käytössänne on spring-boot-starter-oauth2-client-riippuvuus. Spring Boot tunnistaa määritykset automaattisesti ja määrittää tarvittavat suodattimet.
Tässä on Spring Boot -sovelluksen yksinkertainen aloituspiste:
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.";
}
}Automaattinen OAuth2-kulku
Kun määritykset ovat kunnossa, Spring Security:
- Ohjaa todentamattomat käyttäjät määritetyn Authorization Serverin kirjautumissivulle.
- Käsittelee authorization code -koodin vaihdon, kun käyttäjä on myöntänyt käyttöoikeuden.
- Hakee käyttäjän tiedot osoitteesta
user-info-uri. - Täyttää
SecurityContext-kontekstin todennetulla käyttäjällä.
Tämä yksinkertaistaa huomattavasti OAuth2-asiakaslogiikan toteuttamista.
Pikatarkistus: asiakkaan määritys
Olette määrittämässä Spring Boot -sovellusta ulkoisen palvelun OAuth2-asiakkaaksi. Mitä seuraavista ominaisuuksista käytetään ensisijaisesti sovelluksen tunnistamiseen ulkoisessa palvelussa, ja se pitäisi pitää luottamuksellisena?
Yhteenveto: OAuth2-asiakkaan määritys
Olette oppineet määrittämään Spring Boot -sovelluksen OAuth2 Client -asiakkaaksi. Käsittelimme seuraavat aiheet:
- OAuth2 Client -asiakkaan rooli.
- Tärkeät määritysasetukset, kuten
client-idjaclient-secret. application.yml-tiedoston käyttäminen asiakkaan ja palveluntarjoajan rekisteröintiin.- Spring Securityn automaattinen OAuth2-vuon käsittely.
Seuraavaksi perehdymme tarkemmin tiettyjen sosiaalisen kirjautumisen palveluntarjoajien, kuten Googlen ja GitHubin, integrointiin!
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”OAuth2-asiakkaan määritys” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Spring Security 6 ja JWT-todennus-oppimispolun 3 oppituntia, myös oppitunnin “OAuth2-asiakkaan määritys”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Spring Security 6 ja JWT-todennus-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”OAuth2-asiakkaan määritys”?
Määritä sovelluksesi toimimaan OAuth2-asiakkaana ja määritä eri palveluntarjoajien rekisteröintitiedot. Harjoittelet Spring Security 6 ja JWT-todennus-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Spring Security 6 ja JWT-todennus-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Spring Security 6 ja JWT-todennus-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”OAuth2-asiakkaan määritys”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Spring Security 6 ja JWT-todennus-oppitunnilla?
Kyllä. Jokainen Spring Security 6 ja JWT-todennus-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- OAuth2-asiakkaan määritys
- Sosiaalisen kirjautumisen integrointi
- Mukautettu OAuth2-onnistumiskäsittelijä
- Todennetun OAuth2-käyttäjän tietojen hakeminen