相关疑难解决方法(0)

通过Keycloak REST API注销用户不起作用

从(移动)应用程序调用Keycloak的注销端点时遇到问题.

支持此方案的文档中所述:

/境界/ {领域名} /协议/ OpenID的连接/注销

注销端点注销经过身份验证的用户.

可以将用户代理重定向到端点,在这种情况下,将注销活动用户会话.之后,用户代理将重定向回应用程序.

端点也可以由应用程序直接调用.要直接调用此端点,需要包含刷新令牌以及验证客户端所需的凭据.

我的请求有以下格式:

POST http://localhost:8080/auth/realms/<my_realm>/protocol/openid-connect/logout
Authorization: Bearer <access_token>
Content-Type: application/x-www-form-urlencoded

refresh_token=<refresh_token>
Run Code Online (Sandbox Code Playgroud)

但总是会出现此错误:

HTTP/1.1 400 Bad Request
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/10
Content-Type: application/json
Content-Length: 123
Date: Wed, 11 Oct 2017 12:47:08 GMT

{
  "error": "unauthorized_client",
  "error_description": "UNKNOWN_CLIENT: Client was not identified by any client authenticator"
}
Run Code Online (Sandbox Code Playgroud)

如果我提供了access_token,Keycloak似乎无法检测到当前客户端的身份事件.我使用相同的access_token来访问其他Keycloak的API而没有任何问题,例如userinfo (/ auth/realms // protocol/openid-connect/userinfo).

我的请求是基于这个Keycloak的问题.该问题的作者得到了它的工作,但这不是我的情况.

我正在使用Keycloak 3.2.1.Final.

你有同样的问题吗?你知道如何解决它吗?

keycloak

13
推荐指数
4
解决办法
2万
查看次数

标签 统计

keycloak ×1