Asp.Net Core 如何配置在Swagger中带JWT报文头

文章目录

  • 前言
  • 一、配置方法
  • 二、使用
    • [1、运行应用程序并导航到 /swagger](#1、运行应用程序并导航到 /swagger)
    • [2、点击右上角的 Authorize 按钮。](#2、点击右上角的 Authorize 按钮。)
    • [3、输入 JWT 令牌,格式为 Bearer your_jwt_token。](#3、输入 JWT 令牌,格式为 Bearer your_jwt_token。)
    • [4、后续请求将自动携带 Authorization 头。](#4、后续请求将自动携带 Authorization 头。)
  • 三、注意事项
  • 总结

前言

配置Swagger支持JWT

一、配置方法

  1. 在 Program.cs 的 Swagger 配置部分添加安全定义和需求:

    csharp 复制代码
    builder.Services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
    
        // 添加 JWT 认证配置
        var securityScheme = new OpenApiSecurityScheme
        {
            Name = "Authorization",
            Description = "JWT Authorization header using the Bearer scheme.\r\nExample:'Bearer fadffdfadfds'",
            In = ParameterLocation.Header,
            Type = SecuritySchemeType.ApiKey,
            Scheme = "bearer",
            BearerFormat = "JWT",
            Reference = new OpenApiReference
            {
                Type = ReferenceType.SecurityScheme,
                Id = "Authorization"
            }
        };
    
        c.AddSecurityDefinition("Authorization", securityScheme);
    
        var securityRequirement = new OpenApiSecurityRequirement
        {
            { securityScheme, new[] { "Bearer" } }
        };
    
        c.AddSecurityRequirement(securityRequirement);
    });

二、使用

1、运行应用程序并导航到 /swagger

  1. 如下图:

2、点击右上角的 Authorize 按钮。

  1. 如下图:

3、输入 JWT 令牌,格式为 Bearer your_jwt_token。

  1. 如下图:

4、后续请求将自动携带 Authorization 头。

三、注意事项

  • 令牌格式 :输入令牌时确保包含 Bearer 前缀和空格。
  • 作用域配置 :如需更细粒度的控制,可在 AddSecurityRequirement 中指定作用域。
  • 生产环境 :确保在生产环境中使用 HTTPS 并妥善保管密钥。

总结

完成上述配置后,Swagger 将自动在请求头中添加 JWT,方便在开发过程中测试受保护的 API 端点。

相关推荐
我最厉害。,。44 分钟前
接口安全&SOAP&OpenAPI&RESTful&分类特征导入&项目联动检测
后端·restful
AntBlack3 小时前
计算机视觉 : 端午无事 ,图像处理入门案例一文速通
后端·python·计算机视觉
福大大架构师每日一题4 小时前
2025-06-02:最小可整除数位乘积Ⅱ。用go语言,给定一个表示正整数的字符串 num 和一个整数 t。 定义:如果一个整数的每一位都不是 0,则称该整数为
后端
Code_Artist4 小时前
[Mybatis] 因 0 != null and 0 != '' 酿成的事故,害得我又过点啦!
java·后端·mybatis
程序员博博4 小时前
看到这种代码,我直接气到想打人
后端
南雨北斗4 小时前
php 图片压缩函数
后端
L2ncE4 小时前
ES101系列08 | 数据建模和索引重建
java·后端·elasticsearch
还是鼠鼠5 小时前
Maven---配置本地仓库
java·开发语言·后端·maven
无问8175 小时前
SpringBoot:统一功能处理、拦截器、适配器模式
spring boot·后端·适配器模式
一只叫煤球的猫5 小时前
MySQL虚拟列:一个被低估的MySQL特性
数据库·后端·mysql