SwaggerGenOptionsExtensions.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using Microsoft.OpenApi.Models;
  2. using Swashbuckle.AspNetCore.SwaggerGen;
  3. namespace DopInterfacePlatform
  4. {
  5. public static class SwaggerGenOptionsExtensions
  6. {
  7. /// <summary>
  8. /// 为swagger增加Authentication报文头
  9. /// </summary>
  10. /// <param name="option"></param>
  11. public static void AddAuthenticationHeader(this SwaggerGenOptions option)
  12. {
  13. option.AddSecurityDefinition("Authorization",
  14. new OpenApiSecurityScheme
  15. {
  16. Description = "Authorization header. \r\nExample:Bearer 12345ABCDE",
  17. Name = "Authorization",
  18. In = ParameterLocation.Header,
  19. Type = SecuritySchemeType.ApiKey,
  20. Scheme = "Authorization"
  21. }
  22. ); ;
  23. option.AddSecurityRequirement(new OpenApiSecurityRequirement()
  24. {
  25. {
  26. new OpenApiSecurityScheme
  27. {
  28. Reference=new OpenApiReference
  29. {
  30. Type=ReferenceType.SecurityScheme,
  31. Id="Authorization"
  32. },
  33. Scheme="oauth2",
  34. Name="Authorization",
  35. In=ParameterLocation.Header,
  36. },
  37. new List<string>()
  38. }
  39. });
  40. }
  41. }
  42. }