如何撤销令牌 Apereo CAS Oauth

How to revoke a token Apereo CAS Oauth

我正在使用支持 OAuth2.0 (Link to docs) 的 Apereo CAS。我通过路径成功发布了访问令牌:

[url_cas]/oauth2.0/accessToken?grant_type=password&client_id=[client_id]&username=[user]&password=[password]

如何撤销生成的访问令牌(应用程序注销)?我没有在文档中找到任何信息。

我尝试通过以下路径使用 Apereo CAS Rest (Link to docs) 执行注销:

DELETE [url_cas]/v1/tickets/AT-1-g6G2c3PwFrsXoSYlVhrrdLCqjiUQgkMS

而 Apereo CAS returns 出现错误:

Ticket [AT-1-g6G2c3PwFrsXoSYlVhrrdLCqjiUQgkMS is of type class org.apereo.cas.ticket.accesstoken.AccessTokenImpl when we were expecting interface org.apereo.cas.ticket.TicketGrantingTicket

有什么方法可以执行这个操作吗?

谢谢。

我认为 CAS 5 不具备该功能。2.x。可以使用 /status/ssosessions 端点查看活动会话(一旦您打开它并启用对其的安全访问)。或者,您可以创建自己的端点来安全地执行此操作。

参见this link

从 CAS 6.1 开始,有一个可用于 OAUTH 令牌的专用端点 /actuator/oauthTokens,它被建模为 Spring 引导执行器端点。它允许您管理和控制 OAuth2 访问令牌:

  • GET 操作生成所有 access/refresh 标记的列表。
  • DELETE 操作将删除以参数选择器形式提供的 access/refresh 标记。 (即 /{token})。
  • 使用参数选择器 /{token} 生成的 GET 操作将列出获取的 access/refresh 令牌的详细信息。

详情见this link