首页 > 解决方案 > 多个 SSO 服务器时,OpenAM OAuth 令牌问题不会失效

问题描述

我使用 OpenAM UI >> 部署 >> 服务器中的服务器设置为 SSO 设置了两台服务器(sso1、sso2)。当我点击请求时

curl --location --request POST 'http://locahost:8080/sso1/oauth2/test1/token/revoke' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'token=<<token>>' \
--data-urlencode 'client_id=XXXX' \
--data-urlencode 'client_secret=XXXX'

它带来成功。现在为了验证令牌是否被撤销,我使用了以下 API

curl --location --request GET 'http://localhost:8080/sso1/oauth2/tokeninfo?access_token=<<token>>&realm=/test1'

所以上面的方法看起来不错,它给出了一个像 invalid_token 这样的错误。但是当我用 sso2 检查相同的令牌时,它会给出有效的响应。所以我的问题是如何撤销在 SSO 级别配置的所有服务器池中无效的令牌?

谢谢

标签: openamforgerock

解决方案


OAuth2 令牌存储在 CTS 持久性存储中。您需要检查 CTS 持久性存储基础设施是否按预期工作(例如,如果它被复制)


推荐阅读