.net core 实例教程(十二)配置启用Swagger中的【Authorize】按钮

本文源码下载地址:http://www.80cxy.com/Blog/ResourceView?arId=202403191532545995NAAqJh

系列教程地址:http://www.80cxy.com/Blog/ArticleView?arId=202403191517574161ay3s5V

用户登录成功之后,后台返回JWT格式的token,再后续访问其他接口时需要携带token,为方便Swagger调试,可以开启Swagger的Authorize按钮用于设置接口调用携带的token。默认Swagger不显示Authorize。配置完Swagger页面显示如下:

点击按钮,输入token,注意格式必须在token前面增加“Bearer “字符。

一、配置代码如下:

在SignUp.Common项目JWT文件夹中新增SwaggerGenOptionsExtensions类,代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

using Microsoft.Extensions.DependencyInjection;

using Microsoft.OpenApi.Models;

using Swashbuckle.AspNetCore.SwaggerGen;

namespace SignUp.Common.JWT

{

    public static class SwaggerGenOptionsExtensions

    {

        /// <summary>

        /// 为Swagger增加Authentication报文头

        /// </summary>

        /// <param name="c"></param>

        public static void AddAuthenticationHeader(this SwaggerGenOptions c)

        {

            c.AddSecurityDefinition("Authorization", new OpenApiSecurityScheme

            {

                Description = "Authorization header. \r\nExample: 'Bearer 12345abcdef'",

                Name = "Authorization",

                In = ParameterLocation.Header,

                Type = SecuritySchemeType.ApiKey,

                Scheme = "Authorization"

            });

            c.AddSecurityRequirement(new OpenApiSecurityRequirement()

            {

                {

                    new OpenApiSecurityScheme

                    {

                        Reference = new OpenApiReference

                        {

                            Type = ReferenceType.SecurityScheme,

                            Id = "Authorization"

                        },

                        Scheme = "oauth2",

                        Name = "Authorization",

                        In = ParameterLocation.Header,

                    },

                    new List<string>()

                }

            });

        }

    }

}

二、启用Swagger中的【Authorize】按钮配置

在WebApplicationBuilderExtensions配置类的ConfigureExtraServices方法增加如下配置代码:

1

2

3

4

5

//启用Swagger中的【Authorize】按钮。这样就不用每个项目的AddSwaggerGen中单独配置了

services.Configure<SwaggerGenOptions>(c =>

{

    c.AddAuthenticationHeader();

});

学习交流

附笔者学习 .net core开发时参考相关项目实例源码:asp.net core webapi项目实例源代码锦集下载(72个)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值