Asp.net web api 带有SwashbackAPI文档的http基本身份验证
有谁知道如何将basic auth与Swashback api的文档集成 我看到在swaggerconfig文件中有一个basicAuth函数:Asp.net web api 带有SwashbackAPI文档的http基本身份验证,asp.net-web-api,swagger,swashbuckle,Asp.net Web Api,Swagger,Swashbuckle,有谁知道如何将basic auth与Swashback api的文档集成 我看到在swaggerconfig文件中有一个basicAuth函数: c.BasicAuth("basic").Description("Basic HTTP Authentication"); 我所做的: 取消对前一行的注释,但未更改任何内容 有人知道我错过了什么吗 谢谢 以下是我如何进行httpbasic身份验证的: 公共类AddAuthorizationHeaderParameterOperation
c.BasicAuth("basic").Description("Basic HTTP Authentication");
我所做的:
- 取消对前一行的注释,但未更改任何内容李>
谢谢 以下是我如何进行httpbasic身份验证的:
公共类AddAuthorizationHeaderParameterOperationFilter: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
对@MarwaAhmad最优秀答案的一个小改进是检查空参数(例如,URL中所有参数的简单GET或调用)。还添加了基本身份验证的详细信息
此外,如果您已经使用全局IAuthorizationFilter
来强制使用HTTPS,那么您需要更改更通用的
filter=>过滤器是IAAuthorizationFilter
特定
filter=>filter是一个属性
公共类AddAuthorizationHeaderParameterOperationFilter:IOperationFilter
{
public void Apply(操作,SchemaRegistry SchemaRegistry,apisdescription apisdescription)
{
var filterPipeline=apiscription.ActionDescriptor.GetFilterPipeline();
var isAuthorized=filterPipeline.Select(filterInfo=>filterInfo.Instance)
.Any(filter=>filter是IAAuthorizationFilter);
异源变异=
apiDescription.ActionDescriptor.GetCustomAttributes().Any();
如果(未授权&&!禁止使用)
{
if(operation.parameters==null)
operation.parameters=新列表();
操作参数?添加(新参数
{
name=“授权”,
@in=“header”,
description=“基本HTTP Base64编码头授权”,
必需=真,
type=“string”
});
}
}
}
无法加载System.Web.Http 4.0.0的获取错误。使用framework 4.6.1。无法加载System.Web.Http 4.0.0的任何帮助获取错误。使用framework 4.6.1。任何帮助