Angular2 OpenIddict 和 AspNetCore WebApi 中的授权角色

Angular2 OpenIddict and Authorizing Roles in AspNetCore WebApi

我目前正在尝试将角色添加到我的 Angular2 AspNetCore WebApi 示例应用程序中,可以在此处找到:https://github.com/tonywr71/Snazzle

不幸的是,我有点卡住了。我已经成功实现了 ASOS 身份验证。令牌是从 connect/token 方法返回的,我可以用 header 中的不记名令牌调用我的自定义方法,它会成功授权。

现在还有两个问题。一是虽然授权了,但是User.Identityobject中的Name字段没有设置。我通过在 Claims 中添加用户名来解决这个问题。其次,我希望填充角色,以便我可以在授权属性中使用角色。我在 Startup.cs 文件中启用了 Asp.Net Core Identity,并配置了数据库。所以我真的很想能够在 webapi 方法上放置一个 Authorize 属性并设置该属性中允许的角色。

知道如何让它填充名称和角色吗?

Any idea how to get it to populate the Name and Roles?

要获取用户名,您必须请求标准 profile 范围。对于角色,添加 roles.

例如:

grant_type=password&username=johndoe&password=A3ddj3w&scope=openid%20profile%20roles