[英]Keycloak logout response 414
GET /realms/[REALM_NAME]/protocol/openid-connect/logout?post_logout_redirect_uri=[...]&id_token_hint=[..very large jwt-token >4096..]
414
(Uri 長(鏈接)302
。注銷 URI 路徑似乎太長了。 keycloak quarkus 服務的默認長度為 4096 字節( 鏈接)。
為 quarkus 參數quarkus.http.limits.max-initial-line-length設置更高的長度 ...
-quarkus.http.limits.max-initial-line-length=8192
QUARKUS_HTTP_LIMITS_MAX_INITIAL_LINE_LENGTH=8192
AFAIK,您應該將ID 令牌傳遞給id_token_hint
而不是和access token 。 從OpenID Connect 標准(第 2 節 RP 發起的注銷)中可以讀到:
此規范定義了在注銷端點的注銷請求中使用的以下參數:
id_token_hint推薦。 ID Token 先前由 OP 發布給 RP,傳遞給注銷端點,作為有關最終用戶當前通過客戶端驗證的 session 的提示。 這用作 RP 請求由 OP 注銷的最終用戶身份的指示。
所以你需要傳遞id_token_hint=<id_token>
。 您可以通過使用scope=openid
調用令牌端點來獲取ID 令牌。 例如,當用戶通過瀏覽器登錄時,如果您請求包含scope=openid
,您將獲得(連同刷新和訪問令牌)用戶ID 令牌。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.