Friday, June 3, 2022

 

access token sử dụng grant type Resource Owner Password Credentials

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



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 sử dụng grant type Resource Owner Password Credentials của OAuth 2.0 từ Keycloak, các bạn nhé!

Giả sử mình đang có một client:

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

và mộ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

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 HTTP 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!

No comments:

Post a Comment

So sánh các GitFlow model và áp dụng với CICD

https://medium.com/oho-software/so-s%C3%A1nh-c%C3%A1c-gitflow-model-v%C3%A0-%C3%A1p-d%E1%BB%A5ng-v%E1%BB%9Bi-cicd-b6581cfc893a