加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘南站长网 (https://www.0941zz.com/)- 科技、行业物联网、开发、云计算、云管理!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – 使用swashbuckle api文档的http basic auth

发布时间:2020-09-01 19:12:49 所属栏目:asp.Net 来源:互联网
导读:谁能知道如何将基本的auth与swashbuckle api的文档集成? 我看到swaggerconfig文件中有一个basicAuth函数: c.BasicAuth(basic).Description(Basic HTTP Authentication); 我做了什么: 取消注释前一行但没有改变! 有没有人知道我错过了什么? 谢谢! 这是我

谁能知道如何将基本的auth与swashbuckle api的文档集成?

我看到swaggerconfig文件中有一个basicAuth函数:

c.BasicAuth("basic").Description("Basic HTTP Authentication");

我做了什么:

>取消注释前一行但没有改变!

有没有人知道我错过了什么?

谢谢!

解决方法

这是我做httpbasic身份验证的方式:
public class AddAuthorizationHeaderParameterOperationFilter: IOperationFilter
{
    public void Apply(Operation operation,SchemaRegistry schemaRegistry,ApiDescription apiDescription)
    {
        var filterPipeline = apiDescription.ActionDescriptor.GetFilterPipeline();
        var isAuthorized = filterPipeline
                                         .Select(filterInfo => filterInfo.Instance)
                                         .Any(filter => filter is IAuthorizationFilter);

        var allowAnonymous = apiDescription.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().Any();

        if (isAuthorized && !allowAnonymous)
        {
            operation.parameters.Add(new Parameter {
                name = "Authorization",@in = "header",description = "access token",required = true,type = "string"                    
            });
        }
    }
}

api的用户应写入字段值:basic [un:pw] .tobase64.

参考文献:
swashbuckle’s issue 326
swashbuckle issue 2

(编辑:甘南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读