gpt4 book ai didi

asp.net-web-api - 带有 swashbuckle api 文档的 http 基本身份验证

转载 作者:行者123 更新时间:2023-12-04 13:38:33 28 4
gpt4 key购买 nike

谁能知道我如何将基本身份验证与 swashbuckle api 的文档集成在一起?

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

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

我所做的:
  • 取消注释前一行,但没有任何改变!

  • 有谁知道我错过了什么?

    谢谢!

    最佳答案

    @MarwaAhmad 最出色的答案的一个小改进是检查空参数(例如,一个简单的 GET 或 URL 中所有参数的调用)。还添加了基本身份验证的详细信息。

    另外,如果您已经使用全局 IAuthorizationFilter比如说强制执行 HTTPS,那么您将需要更改更一般的

    filter => filter is IAuthorizationFilter

    到一个特定的

    filter => filter is AuthorizeAttribute

        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)
    {
    if (operation.parameters == null)
    operation.parameters = new List<Parameter>();

    operation.parameters?.Add(new Parameter
    {
    name = "Authorization",
    @in = "header",
    description = "Basic HTTP Base64 encoded Header Authorization",
    required = true,
    type = "string"
    });
    }
    }
    }

    关于asp.net-web-api - 带有 swashbuckle api 文档的 http 基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30222117/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com