C# 如何将用户名作为Base64编码格式传递到WebAPI swagger的头中?
我已经实现了一个带有基本身份验证过滤器的web api。当我想从大摇大摆地称呼它时,我面临以下问题: 1) 我无法在Base64编码中传递C# 如何将用户名作为Base64编码格式传递到WebAPI swagger的头中?,c#,asp.net-web-api,swagger,C#,Asp.net Web Api,Swagger,我已经实现了一个带有基本身份验证过滤器的web api。当我想从大摇大摆地称呼它时,我面临以下问题: 1) 我无法在Base64编码中传递username 2) Username在ActionContext.Request.Headers.Authorization的Scheme属性中传递,而不是在相同的参数属性中传递 我曾经大摇大摆地尝试过下面的代码 GlobalConfiguration.Configuration .EnableSwagger(c =>
username
2) Username
在ActionContext.Request.Headers.Authorization的Scheme属性中传递,而不是在相同的参数属性中传递
我曾经大摇大摆地尝试过下面的代码
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.OperationFilter(() => new AddRequiredAuthorizationHeaderParameter());
});
public class AddRequiredAuthorizationHeaderParameter : 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 (operation.parameters == null)
operation.parameters = new List<Parameter>();
operation.parameters.Add(new Parameter
{
name = "Authorization",
@in = "header",
type = "",
required = true,
description = "User Name"
});
}
}
GlobalConfiguration.Configuration
.EnableSwagger(c=>
{
c、 OperationFilter(()=>new AddRequiredAuthorizationHeaderParameter());
});
public class addRequiredAuthorizationHeader参数:IOperationFilter
{
public void Apply(操作,SchemaRegistry SchemaRegistry,apisdescription apisdescription)
{
var filterPipeline=apiscription.ActionDescriptor.GetFilterPipeline();
var isAuthorized=filterPipeline.Select(filterInfo=>filterInfo.Instance)
.Any(filter=>filter是IAAuthorizationFilter);
var allowAnonymous=apiscription.ActionDescriptor.GetCustomAttributes().Any();
if(operation.parameters==null)
operation.parameters=新列表();
操作.参数.添加(新参数
{
name=“授权”,
@in=“header”,
类型=”,
必需=真,
description=“用户名”
});
}
}
请帮帮我