1

我正在使用支持 OAuth2.0 的 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 返回错误:

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

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

谢谢。

4

1 回答 1

1

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

请参阅此链接

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

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

有关详细信息,请参阅此链接

于 2020-03-13T15:19:28.320 回答