Swagger3中配置全局token参数

这篇具有很好参考价值的文章主要介绍了Swagger3中配置全局token参数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

配置代码

@Configuration
// @Profile()
public class SwaggerConfig {
    @Bean
    public OpenAPI springShopOpenAPI() {

        return new OpenAPI()
                .components(components())
                // 2. 再在这里添加上Swagger要使用的安全策略
                // addList()中写上对应的key
                .addSecurityItem(new SecurityRequirement().addList("tokenScheme"));
    }
    // 1. 先在组件中注册安全策略
    private Components components(){
        return new Components()
        		// 第一个参数是key值,后面是初始化一个安全策略的参数
                .addSecuritySchemes("tokenScheme", new SecurityScheme().type(SecurityScheme.Type.APIKEY).in(SecurityScheme.In.HEADER).name("token"));
    }
}

打开Swagger页面,效果如下:

Swagger3中配置全局token参数

右边多了一把锁的标志,点击就可以输出token值。

点击Authorize之后,发送的请求都会自动在请求头中加上字段为token,值为输入值。

参考连接:springdoc-openapi-ui添加一个JWT请求头参数以生成swagger

安全策略类型 SecurityScheme.Type

注意到初始化安全策略时Type可以选择多种:
Swagger3中配置全局token参数
上例使用的就是apiKey类型,指定apiKey的位置,就可以在每次发送请求时自动赋上该apiKey。

如上图,除此之外,类型还有http等等类型,其他类型由于笔者暂时还没有接触过,不做说明,但是这个http安全策略是什么呢?接下来一起来了解一下。

http安全策略

在http协议中,也定义了安全认证方式,只不过可能由于实践中使用很少,因此很少听过。

WWW-Authenticate字段

我们可以在响应中返回401Unauthorized 状态码,并返回WWW-Authenticate字段,以告诉客户端该接口需要权限认证才能访问,并且在WWW-Authenticate字段中指明相关信息,比如使用身份认证方案。

具体可以参考MDN文档:WWW-Authenticate。

常见的身份认证方案有BasicBearer等等,这里不做具体说明。

Authorization

相应的我们在请求中也有** Authorization**字段用以返回用户凭证。语法是:

Authorization: <auth-scheme> <authorization-parameters>

第一个参数指定使用的身份认证方案,第二个参数指定认证参数。

具体可以参考MDN文档:Authorization。

在Swagger中实践

综上如果我们要使用http安全策略可以在Swagger中如下配置:

private Components components(){
        return new Components()
                .addSecuritySchemes("tokenScheme", new SecurityScheme().type(SecurityScheme.Type.APIKEY).in(SecurityScheme.In.HEADER).name("token"))
                // type指定为http scheme中指定为bearer
                .addSecuritySchemes("httpTest", new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer"));
    }

Swagger页面如下:
Swagger3中配置全局token参数

需要注意的是由于这里是http安全策略,它只会在请求头中带上Authorization字段。如果说我们的token认证是直接读取请求头中的自定义字段token的话,这样设置是无效的。文章来源地址https://www.toymoban.com/news/detail-494112.html

到了这里,关于Swagger3中配置全局token参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot2.7以上版本配置swagger3.0.0版本浏览器无法打开swagger-ui

    1.最实用解决方式:将pom里的swagger依赖降到2.9.0即可 过低无法启动项目 1.2 Springboot2.6以后将SpringMVC 默认路径匹配策略从AntPathMatcher 更改为PathPatternParser Springfox 使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher 2.3.0.0版本swagger2访问地址为:http://loca

    2024年02月11日
    浏览(35)
  • Swagger3学习笔记

    参考https://blog.csdn.net/YXXXYX/article/details/124952856 https://blog.csdn.net/m0_53157173/article/details/119454044 不加会报错 访问http://localhost:8080/swagger-ui/index.html Docket 是一个配置类,用于配置 Swagger 的文档生成规则。通过创建一个 Docket 实例,您可以指定要生成的文档的详细信息,例如 API 的基

    2024年02月13日
    浏览(49)
  • springboot 集成 Swagger3(速通)

    → springboot 集成 Swagger2 ← 这次直接使用 2.5.6 的 spring-boot 。 依赖: 启动类加注解 @EnableOpenApi 新建测试类 访问 http://127.0.0.1:8080/swagger-ui.html ,没错,又是 Error 页面 此部分参考:https://blog.csdn.net/mmmm0584/article/details/117786055 在swagger3.0中,swagger-ui.html的位置发生了变化:   

    2024年02月03日
    浏览(39)
  • SpringCloudGateway整合swagger3文档

             SpringCloud项目中,微服务模块和网关模块必不可少。按照以前SpringBoot的模式,单个服务拥有自己的Api文档(Swagger文档),引入微服务后,多文档管理成了一个问题。我们需要一个统一的入口方便前端同学查看。本篇文章就是把各个微服务的swagger-api文档,集成到网

    2024年02月09日
    浏览(44)
  • Springboot项目集成Swagger3.0

    开发时经常会出现下面这种情况——“不熟”的接口 因为业务的需要接口文档可能会发生改变,前后端交互上经常会出现参数不符的情况,通过Excel或者Word维护接口文档,会存在时效性较差的问题,而Swagger正是解决这一痛点的利器。在代码中加入注解,可以实时更新接口。

    2024年02月15日
    浏览(46)
  • spring boot 集成 swagger3

              Swagger 3是一种开源的API描述工具,它可以帮助开发人员设计、构建、文档化和测试API。Swagger 3支持多种编程语言和框架,包括Java、Node.js、Python、Ruby等,并提供了许多集成工具和插件,例如Postman、Apigee等。 Swagger 3使用OpenAPI规范来描述API,这是一种通用的API描述

    2024年02月06日
    浏览(43)
  • Java技术-接口文档-Swagger2&Swagger3&接口文档UI整合

    目录 一、Swagger2完整用法 1.POM依赖 2.接口类 3.实现类 4.托管静态资源 5.接口文档配置 6.生产环境关闭接口文档 7.Swagger3页面效果 二、Swagger3完整用法 三、Swagger整合Knife4jUi 1.POM依赖 2.接口类 3.实现类 4.托管静态资源 5.接口文档配置 6.生产环境关闭接口文档 四、注释和参数讲解

    2024年02月16日
    浏览(49)
  • SpringBoot学习之集成Swagger3(二十七)

    一、Maven配置 注意swagger的版本号是3.0.0版本以上才可以,这里我们就选择3.0.0版本  完整的Maven配置如下(仅供参考): project xmlns=\\\"http://maven.apache.org/POM/4.0.0\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xsi:schemaLocation=\\\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\\\"

    2024年02月05日
    浏览(58)
  • SpringBoot——2.7.3版本整合Swagger3

    Swagger2(基于openApi3)已经在17年停止维护了,取而代之的是 sagger3(基于openApi3),而国内几乎没有 sagger3使用的文档,百度搜出来的大部分都是swagger2的使用,这篇文章将介绍如何在 java 中使用 openApi3(swagger3)。 Open API OpenApi是业界真正的 api 文档标准,其是由 Swagger 来维护

    2024年02月11日
    浏览(36)
  • swagger3 快速整合 springboot 2.6.15

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包