asp.net-core - 是否可以从 Asp.Net Core Identity 公开 Security Stamp 作为 OIDC 的声明
问题描述
我正在使用IdentityServer4
withAsp.Net Core Identity
并且我想在我的 MVC 客户端(连接到 IdentityServer4)中检查用户的SecurityStamp
更改。
我的想法是在中间件中公开SecurityStamp
类似的声明id_token
并在我的 MVC 客户端中检查它。Cookie
如果用户的安全标记已更改,则需要重新登录。
我想创建这个往返行程,特别是因为我想检查用户的角色是否发生了变化。
1) 揭露SecurityStamp
类似的主张是个好选择吗?
2) 有什么方法可以检查用户的安全印章在 OIDC 中是否仍然有效?还是有必要为此建立我自己的端点?喜欢自己的 API?
解决方案
我们已经做到了,而且效果很好。我将它作为st
令牌中的声明返回,也通过用户信息端点返回,因此客户端很容易检查它是否已更改。
然后,我们要求(内部)客户端通过st
未更改的 userinfo 端点定期检查。我们还有一个自定义的模拟实现,客户端以相同的方式检查模拟授权撤销。
简而言之 - 是的,这是一个好主意(IMO),不,你不需要构建 API - 只需通过 userinfo 端点公开它。
推荐阅读
- python - 为什么 isinstance() 不能按预期工作?
- sql - SQL 中的 PIVOT 使用行值作为列名
- javascript - 如何使用 flex-box 实现每行 2 个 html 元素?
- python - 如何使用条件数组在 numpy 数组的列上应用函数?
- python-3.x - python3列表元素映射到总和元素
- python - 需要 python 或 jupyter notebook helper 手动图像分割器
- flask - boto3,mod_wsgi,ImportError:没有名为 concurrent.futures 的模块
- reactjs - 无法将简化函数传递给 onClick 事件处理程序 ReactJs
- firebase - 如何在颤动中为 listview.builder 制作列表视图?
- c++ - 为什么当我输入一个被接受的数字时我的 do-while 循环没有中断?