【问题标题】:How to revoke a token Apereo CAS Oauth如何撤销令牌 Apereo CAS Oauth
【发布时间】:2020-06-24 21:36:35
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

    标签: spring oauth-2.0 single-sign-on cas apereo


    【解决方案1】:

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

    this link

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

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

    详情请见this link

    【讨论】:

    • 感谢您的回答。我相信为这个操作创建一个自己的端点会更好,因为否则它会允许用户访问 CAS 监控端点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多