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

前端之家收集整理的这篇文章主要介绍了asp.net-web-api – 使用swashbuckle api文档的http basic auth前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
谁能知道如何将基本的auth与swashbuckle api的文档集成?

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

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

我做了什么:

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

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

谢谢!

解决方法

这是我做httpbasic身份验证的方式:
  1. public class AddAuthorizationHeaderParameterOperationFilter: IOperationFilter
  2. {
  3. public void Apply(Operation operation,SchemaRegistry schemaRegistry,ApiDescription apiDescription)
  4. {
  5. var filterPipeline = apiDescription.ActionDescriptor.GetFilterPipeline();
  6. var isAuthorized = filterPipeline
  7. .Select(filterInfo => filterInfo.Instance)
  8. .Any(filter => filter is IAuthorizationFilter);
  9.  
  10. var allowAnonymous = apiDescription.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().Any();
  11.  
  12. if (isAuthorized && !allowAnonymous)
  13. {
  14. operation.parameters.Add(new Parameter {
  15. name = "Authorization",@in = "header",description = "access token",required = true,type = "string"
  16. });
  17. }
  18. }
  19. }

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

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

猜你在找的asp.Net相关文章