Lấy access token trong Keycloak sử dụng grant type Resource Owner Password Credentials của OAuth 2.0

Khi làm việc với các ứng dụng sử dụng Keycloak cho authentication mà front-end gọi xuống back-end bằng các API, chúng ta thường sẽ có nhu cầu test các API với access token, vì lúc này back-end cũng sẽ phải sử dụng Keycloak cho authentication. Để làm được điều này, chúng ta sẽ cần phải có access token của client và truyền chúng vào header của request tới các API. Trong bài viết này, mình sẽ hướng dẫn các bạn cách lấy access token trong Keycloak sử dụng grant type Resource Owner Password Credentials của OAuth 2.0, các bạn nhé!

Giả sử mình đang có một clientmột user được khai báo trong Keycloak như sau:

Lấy access token trong Keycloak sử dụng grant type Resource Owner Password Credentials của OAuth 2.0

và:

Lấy access token trong Keycloak sử dụng grant type Resource Owner Password Credentials của OAuth 2.0

Make sure là client của chúng ta phải TURN ON Direct Access Grants Enabled nha các bạn!

Để lấy access token cho client này, chúng ta sẽ sử dụng một RESTful API của Keycloak với POST method như sau:

với host, port là thông tin của Keycloak server, realm là realm mà client này thuộc về.

Trong phần body của request này, các bạn cần phải truyền thêm các thông tin nữa, bao gồm client_id, username, password và grant_type=password.

Ở ví dụ của mình, thì mình sẽ request với URL như sau:

Trong phần body thì client_id sẽ là angular-test, username là huongdanjava, password của user huongdanjava và grant_type=password.

Cụ thể request sử dụng Postman sẽ như sau:

Lấy access token trong Keycloak sử dụng grant type Resource Owner Password Credentials của OAuth 2.0

Kết quả sẽ như sau:

Lấy access token trong Keycloak sử dụng grant type Resource Owner Password Credentials của OAuth 2.0

Bây giờ, các bạn có thể copy và truyền access token vào request tới backend API để test rồi!

Chia sẽ bài viết này ...Share on Facebook
Facebook
0Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin

Add Comment