web-dev-qa-db-ja.com

Keycloakのrefresh_tokenを介してaccess_tokenを更新します

ユーザーのaccess_tokenが期限切れになり、ユーザーがログインを維持したい場合は、ユーザーがシステムにログインし続けるようにする必要があります。 refresh_token on Keycloak を使用して、新しく更新されたaccess_tokenを取得するにはどうすればよいですか?

私は vertx-auth を使用して、 Keycloak on vert.xvertx-auth または Keycloak でaccess_tokenを更新することは可能ですか? REST API自体?またはこれの別の実装は何ですか?

6
RaiBnod

keycloakには、REST access_token使用refresh_token。それは POST endpoint with application/x-www-form-urlencoded

外観は次のとおりです。

Method: POST
URL: https://keycloak.example.com/auth/realms/myrealm/protocol/openid-connect/token
Body type: x-www-form-urlencoded
Form fields:    
client_id : <my-client-name>
grant_type : refresh_token
refresh_token: <my-refresh-token>

これにより、更新トークンを使用して新しいアクセストークンが得られます。

注:リフレッシュトークンの有効期限が切れると、ユーザーログインを再度行うことができるという点で400例外がスローされます。

Postmanのサンプルをご覧ください。これを使用して、対応するAPIを開発できます。

Sample in Postman

26
Yogendra Mishra

4.8.2.Finalで試したところ、次のunauthorized_client以前のアクセストークンが 'Bearer'であっても。次に、Basic YXBwLXByb3h5OnNlY3JldA== in Authorizationヘッダー。それはうまくいきましたが、それでも私は正しいことをしているかどうかわかりません。

0
Sampath Nawgala