Configure security with oauth2 in spring boot

Tram Ho

1.Thư viện cần dùng

2.@EnableAuthorizationServer

Cấu hình authorization server chịu trách nhiệm quản lý access tokens

Ở đây tôi sẽ cấu hình lưu token vào memory của server , bạn cũng có thể cấu hình lưu token vào database :

Chúng ta xem qua các cấu hình :

tokenStore ở đây là nơi lưu trữ token InMemoryTokenStore có nghĩa là sẽ lưu trữ token vào memory chúng ta cũng có thể sử dụng
JdbcTokenStore để lưu token vào database.

withClient ("client") là user được xác định trong bank. trong trường hợp này chúng ta gọi là client

uthorizedGrantTypes ("password", "authorization_code", "refresh_token", "implicit") sử dụng password service

secret (passwordEncoder (). encode ("password")) là password của “client”

3.Security Configuration

Ở đây tôi @Override lại userDetailsService và set hai user và trong memory trong thực tế khi bạn @Override userDetailsService
bạn cần query vào database để lấy ra user tương ứng.

4.Controller

5.Kiểm tra security

Đầu tiên chúng ta hãy thử gọi api /test mà chưa login

Kết quả này là những gì chúng ta cần khi chưa login thì sẽ trả về lỗi 401

Chúng ta sẽ login để lấy token với path/oauth/token

Chúng ta copy access_token và quay lại api/test thêm token vào header Authorization

Như các bạn thấy chúng ta đã gọi thành công vào api test

6.Kết

Vậy là tôi đã hướng dẫn các bạn cấu hình security với oauth2 trong spring-boot xong hẹn gặp lại ở những bài viết tiếp theo

Share the news now

Source : Viblo