Mar*_*ine 9 entity-framework asp.net-identity-2 identityserver3
我几乎要弄清楚身份验证和授权服务器架构的不同部分是如何工作的.我真的认为IdentityServer是一个很棒的软件.
我试图总结我的发现,为我的问题找到一个基础.
如果我写的所有内容都越来越不正确,我的问题就出现了:
让我们假设在我的资源服务器中,我有一个受ResourceAuthorize属性保护的动作,如下所示:
[ResourceAuthorize("Read","Orders")]
在我的AuthorizationManager中,我检查是否存在声明"order_read"或声明"api".这些是我的AuthorizationServer中定义的两个不同的范围,一个用于"订单阅读",另一个用于完整的API访问.第一方可能会被第三方客户询问,而后者则不会.这是一个好习惯吗?
我无法理解我的客户端应该用id_token做什么.我应该忽略这个问题,因为我正在使用js库OIDC令牌管理器吗?安全控件是否由此库执行?
谢谢你的澄清!
马尔科
是的,你得到了它的要点.至于你的问题:
如何在asp.net身份表上定义声明
随你(由你决定.IdentityServer不强制要求身份管理库.该IUserService扩展点是你弥补这一差距.我们有一个初学者版本IUserService,但它是一个基于代码的NuGet,所以你可以改变它来真正做你需要的.
我无法理解我的客户端应该用id_token做什么
它主要用于在注销时传递回IdentityServer(以验证注销请求).
当我的应用程序呈现访问令牌时,ClaimsIdentity是如何生成的
有中间件(AccessTokenValidation)来验证访问令牌.结果是声明形成了令牌,然后将其转换为a ClaimsIdentity,然后可供下游的任何处理(例如您的Web API代码)使用.
"ClientClaims"表的含义是什么?
该Client配置有一个Claims属性,如果你想发出代表客户的索赔.查看文档:https://identityserver.github.io/Documentation/docsv2/configuration/clients.html
让我们假设在我的资源服务器中,我有一个受这样的ResourceAuthorize属性保护的动作
这与IdentityServer无关,是IdentityModel库的一部分.ResourceAuthorize是一个框架,用于在尝试确定授权结果时使用用户,资源和正在执行的操作.
| 归档时间: |
|
| 查看次数: |
2468 次 |
| 最近记录: |