Bagaimana mengimplementasi JWT menggunakan Spring Security?
Setelah mempelajari JWT pada blog, saya mencoba untuk mengimplementasikan JWT menggunakan Spring Security. Google sana-sini, akhirnya berhasil juga. :)
Secara umum teori untuk dapat mengimplementasikan JWT pada Spring Security, kita memerlukan modul-modul :
spring-security-jwt
- spring-security-oauth2
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.0.9.RELEASE</version>
</dependency>
<dependency<
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-jwt</artifactId>
<version>1.0.4.RELEASE</version>
</dependency>
Sedangkan untuk konfigurasi Authorization Server, minimal kita harus mengimplementasi interface berikut :
- org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurer Interface ini berguna untuk mengkonfigurasi dan mendefinisikan bean-bean yang dibutuhkan sebagai Authorization Server untuk meng-authentikasi Client Detail seperti :
- AuthenticationManager
- PasswordEncoder
- ClientDetailsService
- TokenStore
- TokenEnhancer
- AccessTokenConverter
- dll
- org.springframework.security.oauth2.provider.ClientDetailsService Interface ini berguna untuk mendefinisikan Client Detail yang digunakan untuk Authorization Server.
- org.springframework.security.core.userdetails.UserDetailsService Interface ini berguna untuk mendefinisikan User yang digunakan untuk Authorization Server.
- org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter Interface ini berguna untuk mengkonfigurasi dan mendefinisikan bean-bean yang dibutuhkan sebagai Authorization Server untuk meng-authentikasi User seperti :
- AuthenticationManager
- PasswordEncoder
- UserDetailsService
- HttpSecurity
- dll
Apabila ingin menjadikan sebagai Resource Server, maka perlu mengimplementasi interface :
- org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurer Interface ini berguna untuk mengkonfigurasi dan mendefinisikan bean-bean yang dibutuhkan sebagai Resource Server untuk meng-authentikasi User seperti :
- TokenStore
- AccessTokenConverter
- HttpSecurity
- dll
Sekian sharing tentang JWT + Spring Security, pada blog selanjutnya saya akan share implementasi(source code) JWT pada Spring Security. Semoga bermanfaat. :)
No comments:
Post a Comment