【问题标题】:Add Proxy-Authorization header in swagger在 swagger 中添加 Proxy-Authorization 标头
【发布时间】:2017-11-27 10:56:12
【问题描述】:

我需要使用 .net 核心在 swagger ui 上添加特定的标题。有没有办法包含这样的标题?

已经尝试过:

  • 实现 IOperationFilter:

    public void Apply(Operation operation, OperationFilterContext context)
    {
        if (operation.Parameters == null)
            operation.Parameters = new List<IParameter>();
    
        if (operation.Parameters.All(p => p.Name != "Proxy-Authorization"))
        {
            operation.Parameters.Add(new NonBodyParameter
            {
                Name = "Proxy-Authorization",
                In = "header",
                Description = "Proxy-Authorization token",
                Required = true,
                Type = "string"
            });
        }
    }
    
  • 添加安全定义:

    options.AddSecurityDefinition("Proxy-Authorization", new ApiKeyScheme()
    {
        In = "header",
        Description = "Please insert Proxy Authorization Secret into field",
        Name = "Proxy-Authorization",
        Type = "apiKey"
    });
    

两者都不起作用。当我更改标题名称时,一切正常,但是这个特定的标题会从调用中消失。

你遇到过这个问题吗?如何解决?

【问题讨论】:

  • 在启用 swagger 时是否添加了操作过滤器实现?
  • 感谢您的评论,但是是的。 Swagger 已启用,操作过滤器也已启用,授权标头工作正常。我想在授权之一旁边添加代理授权。当我在玩 swashbuckle 时,我发现不可能添加带有 proxy- 前缀的标题。
  • 你在 GitHub 上有一个最小的项目吗?我想解决您的问题...
  • 您好,感谢您对这个问题感兴趣。请在github 上找到我的存储库。它显示了正在发生的事情。我在那里只创建了一个实现 IOperationFilter 的解决方案。但两者的工作原理相同。最好的问候
  • 我在 swagger-ui 团队中输入了一个 bug:github.com/swagger-api/swagger-ui/issues/3956

标签: asp.net-core swagger-ui swashbuckle


【解决方案1】:

发件人:https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name

禁止的标头名称是不能以编程方式修改的 HTTP 标头名称;具体来说,是一个 HTTP 请求标头名称。

...

禁止的标头名称以 Proxy- 或 Sec- 开头,或由以下之一组成:

  • 接受字符集
  • 接受编码
  • 访问控制请求标头
  • 访问控制请求方法
  • 连接
  • 内容长度
  • 饼干
  • Cookie2
  • 日期
  • DNT
  • 期待
  • 主机
  • 保持活动状态
  • 原产地
  • 代理-
  • 秒-
  • 参考
  • TE
  • 预告片
  • 传输编码
  • 升级
  • 通过

【讨论】:

  • 我看到了关于 github 问题的回复。谢谢。
猜你喜欢
  • 2013-03-16
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多