JWT-tokenien purkaminen ja vahvistaminen
Opettele, miten resurssipalvelin purkaa ja vahvistaa valtuutuspalvelimen myöntämät JWT-tokenit automaattisesti.
JWT-tokenien purkaminen ja vahvistaminen on ilmainen Spring Security 6 ja JWT-todennus-oppitunti CoddyKitissä. Tämä on oppitunti 2/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.
Resurssipalvelin ja JWT:t
Tervetuloa oppitunnille! Tutustumme siihen, miten Spring Security OAuth2 Resource Server käsittelee JSON Web Tokenit (JWT:t) automaattisesti.
Opitte purkamis- ja vahvistusprosessit, jotka suojaavat rajapintojenne päätepisteitä.
Resurssipalvelimen tehtävä
Resurssipalvelin on sovellus, joka sisältää suojattuja resursseja, kuten rajapintojen päätepisteitä tai tietoja, ja jonka on varmistettava, kuka niitä yrittää käyttää.
Se käyttää valtuutuspalvelinta tunnisteiden, kuten JWT:iden, myöntämiseen. Tunnisteet antavat käyttöoikeuden, minkä jälkeen resurssipalvelin vahvistaa ne.
JWT:iden vastaanottaminen pyynnöissä
Kun asiakas haluaa käyttää suojattua resurssia, se lähettää JWT:n HTTP-pyynnönsä Authorization-otsakkeessa. Tämä tehdään yleensä Bearer Token -menetelmällä.
- Bearer Token: Tunnistetieto, joka antaa käyttöoikeuden kenelle tahansa sen haltijalle.
Resurssipalvelin poimii tämän tunnisteen käsiteltäväksi.
JWT:n automaattinen käsittely
Kun määritätte Spring Boot -sovelluksen OAuth2-resurssipalvelimeksi, Spring Security hoitaa suuren osan JWT:n käsittelystä automaattisesti.
Se tunnistaa otsakkeessa olevan Bearer-tunnisteen ja käynnistää sisäisen purku- ja vahvistusprosessinsa.
Tunnisteen purkaminen
Ensimmäinen vaihe on JWT:n purkaminen. JWT koostuu kolmesta pisteillä erotetusta osasta: otsakkeesta, hyötykuormasta ja allekirjoituksesta.
Purkaminen tarkoittaa base64-koodatun otsakkeen ja hyötykuorman jäsentämistä luettavaksi JSONiksi. Tässä vaiheessa tunnisteen aitoutta ei vielä tarkisteta, vaan sen sisältö muutetaan luettavaan muotoon.
Vahvistusprosessi
Purkamisen jälkeen resurssipalvelin suorittaa tärkeät vahvistustarkistukset varmistaakseen, että JWT on aito eikä sitä ole muutettu. Tarkistuksiin kuuluvat:
- Allekirjoituksen vahvistus: Onko tunniste aito?
- Vanhentuminen (
exp): Onko tunniste edelleen voimassa? - Voimassaolo alkaa (
nbf): Onko tunniste jo aktiivinen? - Myöntäjä (
iss): Myönsikö tunnisteen odotettu valtuutuspalvelin? - Kohde (
aud): Onko tunniste tarkoitettu tälle resurssipalvelimelle?
Allekirjoituksen vahvistaminen
Allekirjoituksen vahvistaminen on tärkein vaihe. Se varmistaa tunnisteen eheyden ja aitouden.
Resurssipalvelin käyttää valtuutuspalvelimen toimittamaa julkista avainta (tai symmetrisissä algoritmeissa jaettua salaista avainta) allekirjoituksen laskemiseen uudelleen ja vertailuun. Jos allekirjoitukset eivät täsmää, tunniste hylätään.
`JwtDecoder`-rajapinta
Spring Security käyttää JwtDecoder-rajapintaa JWT:n purkamiseen ja allekirjoituksen vahvistamiseen. Se ottaa vastaan JWT:n raakamerkkijonon ja palauttaa Jwt-olion, joka sisältää puretut otsakkeet ja claimit.
JWS (JSON Web Signature) -tunnisteiden yleisin toteutus on NimbusJwtDecoder.
Resurssipalvelimen määritys
Kun haluatte ottaa tämän automaattisen purkamisen ja vahvistamisen käyttöön, määrittäkää Spring Boot -sovellus OAuth2-resurssipalvelimeksi. Yleensä ilmoitatte valtuutuspalvelimen issuer URI- tai JWK Set URI -osoitteen.
Spring Security noutaa sen jälkeen saapuvien JWT:iden vahvistamiseen tarvittavat julkiset avaimet.
@Configuration
@EnableWebSecurity
public class ResourceServerConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(authorize -> authorize
.anyRequest().authenticated()
)
.oauth2ResourceServer(oauth2 -> oauth2
.jwt(jwt -> jwt
.jwkSetUri("http://localhost:9000/.well-known/jwks.json") // Or issuerUri
)
);
return http.build();
}
}JWT-tunnisteesta Authentication-olioksi
Kun JWT on purettu ja vahvistettu onnistuneesti, Spring Security muuntaa sen claimit Authentication-olioksi, yleensä JwtAuthenticationToken-olioksi.
Olio tallennetaan sitten Security Context -kontekstiin, jolloin käyttäjän principal eli identiteetti ja myönnetyt käyttöoikeudet ovat käytettävissä koko sovelluksessa.
JWT:n vahvistustarkistukset
Tarkistetaan, ymmärsittekö JWT:n vahvistamisen. Spring Security OAuth2 -resurssipalvelin suorittaa useita tärkeitä tarkistuksia varmistaakseen, että JWT on kelvollinen ja luotettava.
Kertaus ja seuraavat vaiheet
Olette oppineet, miten Spring Security OAuth2 -resurssipalvelin purkaa ja vahvistaa JWT:t automaattisesti!
- Käsittelimme resurssipalvelimen tehtävää resurssien suojaamisessa.
- Tutustuimme siihen, miten JWT:t vastaanotetaan ja käsitellään automaattisesti.
- Opimme purkamisen, allekirjoituksen vahvistamisen ja claimien tarkistamisen tärkeät vaiheet (vanhentuminen, myöntäjä ja kohde).
- Näimme, miten resurssipalvelin määritetään käyttämään valtuutuspalvelimen JWK Set URI -osoitetta.
- Opimme, miten vahvistetut JWT:t täyttävät Security Context -kontekstin.
Seuraavaksi perehdymme siihen, miten saapuvien JWT:iden tiettyjä scopeja ja claimeja käytetään API:n eri osien käytön hallintaan.
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 ”JWT-tokenien purkaminen ja vahvistaminen” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Spring Security 6 ja JWT-todennus-oppimispolun 3 oppituntia, myös oppitunnin “JWT-tokenien purkaminen ja vahvistaminen”. 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 ”JWT-tokenien purkaminen ja vahvistaminen”?
Opettele, miten resurssipalvelin purkaa ja vahvistaa valtuutuspalvelimen myöntämät JWT-tokenit automaattisesti. 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 2/4.
Kuinka kauan ”JWT-tokenien purkaminen ja vahvistaminen”-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
- Resurssipalvelimen määritys
- JWT-tokenien purkaminen ja vahvistaminen
- Scope-arvojen ja claimien valvonta
- JWT-claim-arvojen yhdistäminen Spring-oikeuksiin