我遇到了一种尚未遇到的情况,想知道是否需要编写自定义的authorize属性来处理这种情况,或者我是否应该使用身份框架中的某些内容。
我需要在Webapi中同时支持隐式流(主要用于swaggerUI集成)和客户端证书授予。我正在使用的数据很敏感,因此我不希望任何人发现我的摇摇欲坠的页面并可以使用我的AAD实例(通过隐式流)进行身份验证来使用我的数据。我想限制我的api在jwt中查找角色,如果它们当前存在。
另一方面,我的WebApi很可能会被其他服务消耗。因此,我需要支持客户凭证流。显然,通过客户端凭据授予颁发的令牌将没有角色声明,因此在授权这些请求时我找不到角色。
我基本上是在寻找这样的东西:
[Authorize(Roles = "swagger_admin", Optional=true)]
public class UserController : ApiController
{
但是我看不到逻辑上相等的东西,在我出去写一个自定义授权属性之前,我想知道其他人在这里做了什么。
谢谢!