我正在使用 Keycloak 和 SpringBoot API。我的目標是能夠將 keycloak Admin REST API 與僅生成一次的令牌一起使用。我已啟用服務帳戶,但令牌在幾秒鐘后過期。我該怎么做才能生成永不過期的令牌?(例如在 Openshift 服務帳戶上)
如果不可能,我如何將我的 springboot 服務連接到 Keycloak 實體?在每次請求令牌之前,我是否需要每次生成?
curl --location --request POST 'http://localhost:8081/auth/realms/api/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=admin-cli' \
--data-urlencode 'client_secret=f8111a95-67dd-412e-9e04-cf044f0e0286'
感謝您提供任何資訊
uj5u.com熱心網友回復:
您可以實作一個小助手組件,集中提供令牌,在幕后自動重繪 它(如有必要)。Keycloak 的回應包含一個expires_in屬性,該屬性以秒為單位保存令牌到期時間,并且令牌本身在標準exp宣告中攜帶到期資訊。
uj5u.com熱心網友回復:
Keycloak 為此提供了一個基于 Java 的管理客戶端。它為您處理身份驗證和令牌重繪 。
Maven坐標如下:
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
<version>15.0.2</version>
</dependency>
源可在 Github 上獲得,網址為https://github.com/keycloak/keycloak/tree/master/integration/admin-client
入口點將是Keycloak類,可以在此處找到 Javadoc 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/339651.html
