[英]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.