pda-team/Panda.DynamicWebApi

请问关于授权认证的问题

Closed this issue · 5 comments

您好,我新建了一个.net core 3.1 web程序,并引用了panda.dynamicwebapi,采用了abp的设计理念,将动态api类放置了Application层里面,站点默认开启的是cookie认证,在Application层实现IDynamicWebApi的服务类中,标记了[Authorize],也起到了cookie拦截的作用。

现在有个外部客户端需要调用动态api里面的接口,这个时候就要考虑使用jwt认证,之前有做过webapi的 jwt的认证,不过混合在一起使用的话,需要指定认证类型才可以
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)],那么动态生成的webapi接口中,同一个方法要怎么实现 既支持cookie,又支持jwt方式呢?

AuthenticationSchemes 可以设置多个 Scheme,设置几个就支持几个

您的意思是这样?
[Authorize]
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public class AdminService : IAdmin
{

}

你觉得这样有用吗?AuthenticationSchemes是个复数啊

AuthenticationSchemes="Cookie,Bearer"

好的,明白了,我试试,谢谢