openam - 多个 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 级别配置的所有服务器池中无效的令牌?
谢谢
解决方案
OAuth2 令牌存储在 CTS 持久性存储中。您需要检查 CTS 持久性存储基础设施是否按预期工作(例如,如果它被复制)
推荐阅读
- javascript - 在原生 android 浏览器中调试网站在 AVD(android studio) 中运行
- kubernetes - Kubernetes kubelet 更新节点状态时出错
- c++ - 带有 Qt 事件循环的便携式通用共享库设置
- code-signing - 放弃 SHA1 代码签名的影响(仅限 SHA256)
- google-api - 创建一个关于“DriveApp.createFile”的文件
- c# - 在 Unity 中实现 Fur with Shells 技术
- python - 为什么 Pycharm 可以找到我的模块,但无法运行?
- angular - Datalayer.push 与 Angular 6 中的 Typescript
- javascript - dataTable 如何从非当前页面中获取元素
- numpy - 无法获取 numpy 数组的实际值