【发布时间】:2015-03-12 22:42:26
【问题描述】:
我有一个使用 Thinktecture.IdentityServer.v3 设置的示例身份验证服务器,其中还插入了 Thinktecture.IdentityManager。我还使用 asp.net Identity and Entity Framework,所以我也连接了 Thinktecture 的相关插件.下面是相关的 NuGet 包
<package id="Thinktecture.IdentityManager" version="1.0.0-beta3" targetFramework="net451" />
<package id="Thinktecture.IdentityManager.AspNetIdentity" version="1.0.0-beta3" targetFramework="net451" />
<package id="Thinktecture.IdentityModel.Core" version="1.3.0" targetFramework="net451" />
<package id="Thinktecture.IdentityServer.v3" version="1.0.0-rc" targetFramework="net451" />
<package id="Thinktecture.IdentityServer.v3.AspNetIdentity" version="1.0.0-rc" targetFramework="net451" />
<package id="Thinktecture.IdentityServer.v3.EntityFramework" version="1.0.0-rc" targetFramework="net451" />
我已根据 IdentityServer 示例存储库中包含的示例项目注册了 IdentityManager 和 IdentityServer。
我已使用 IdentityManager 成功创建了一个用户,并创建了一个名为“Admin”的角色声明。我已将用户添加到此角色/声明中。
使用客户端示例中的“JavaScript 隐式客户端”,我通过我的身份验证服务器使用正确的凭据登录。我受到了应有的挑战,然后使用身份令牌成功返回到客户端应用程序。
JavaScript 隐式客户端允许您查看身份令牌的内容。令牌中没有“角色”声明列表......我理解这些声明是特定于 asp.net 身份的。
我的问题确实是......如何将这些角色声明包含在身份令牌中?
我是否需要创建一个名为“roles”的自定义范围,应用 ClaimsRule 来返回“role”类型的声明,然后尝试在自定义 ClaimsProvider 中实现该 ClaimsRule?如果是这样,我还没有看到我们如何在任何文档中正确实施 ClaimsRule。
事实上,asp.net Identity 似乎打算在 RTM 之后得到开箱即用的支持......也许有更简单的方法?
如果需要任何其他信息或配置示例,我可以提供:)
【问题讨论】:
标签: asp.net-identity thinktecture-ident-server claims