WebApi支持隐式流程(具有角色)和客户端凭据授予

时间:2019-01-08 16:52:22

标签: asp.net-web-api oauth-2.0 azure-active-directory

我遇到了一种尚未遇到的情况,想知道是否需要编写自定义的authorize属性来处理这种情况,或者我是否应该使用身份框架中的某些内容。

我需要在Webapi中同时支持隐式流(主要用于swaggerUI集成)和客户端证书授予。我正在使用的数据很敏感,因此我不希望任何人发现我的摇摇欲坠的页面并可以使用我的AAD实例(通过隐式流)进行身份验证来使用我的数据。我想限制我的api在jwt中查找角色,如果它们当前存在

另一方面,我的WebApi很可能会被其他服务消耗。因此,我需要支持客户凭证流。显然,通过客户端凭据授予颁发的令牌将没有角色声明,因此在授权这些请求时我找不到角色。

我基本上是在寻找这样的东西:

 [Authorize(Roles = "swagger_admin", Optional=true)]
    public class UserController : ApiController
    {

但是我看不到逻辑上相等的东西,在我出去写一个自定义授权属性之前,我想知道其他人在这里做了什么。

谢谢!

0 个答案:

没有答案