swagger2如何集成OAuth2
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,swagger2如何集成OAuth2,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。GitHub地址码云地址swagger是一款优雅的接口
千家信息网最后更新 2025年12月02日swagger2如何集成OAuth2
swagger2如何集成OAuth2,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
GitHub地址
码云地址
swagger是一款优雅的接口api展示工具,在这里我们具体不展开讲解,有兴趣的自行百度。 该篇文章主要讲解的是如何集成OAuth3的验证即在请求中添加token,验证接口是否具有权限。
方式一:在每个请求上加一个Authorization 窗口自己手动输入token:
/** * @Description Swagger api 配置 * @Author wwz * @Date 2019/08/05 */@Configuration@EnableSwagger2public class SwaggerConfig2 { @Value("${swagger.is.enable}") private boolean SWAGGER_IS_ENABLE; //是否激活开关,在application.yml中配置注入 @Bean public Docket docket() { //添加head参数配置start ParameterBuilder tokenPar = new ParameterBuilder(); List pars = new ArrayList<>(); tokenPar.name("Authorization").description("令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build(); pars.add(tokenPar.build()); return new Docket(DocumentationType.SWAGGER_2) .enable(SWAGGER_IS_ENABLE) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.wwz.frame.controller")) .paths(PathSelectors.any()) .build() .globalOperationParameters(pars);//注意这里; } private ApiInfo apiInfo() { return new ApiInfoBuilder() // 页面标题 .title("OAuth3权限管理API文档") .contact(new Contact("wwz", "", "wwzwtf@qq.com")) .description("OAuth3维护文档") .version("1.0") .extensions(Collections.emptyList()) .build(); }} 效果截图:

方式二:配置application.yml文件 设置好token登录的地址,是否启用swagger,新建配置文件
/** * @Description Swagger api 配置 模式二:增加登录 * @Author wwz * @Date 2019/08/05 */@Configuration@EnableSwagger2public class SwaggerConfig { @Value("${swagger.is.enable}") private boolean SWAGGER_IS_ENABLE; //是否激活开关,在application.yml中配置注入 @Value("${swagger.auth.server}") private String AUTH_SERVER; @Value("${swagger.service.name}") private String SERVICE_NAME; @Bean public Docket docket() { return new Docket(DocumentationType.SWAGGER_2) .enable(SWAGGER_IS_ENABLE) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.wwz.frame.controller")) .paths(PathSelectors.any()) .build()// .pathMapping(SERVICE_NAME) .securitySchemes(Collections.singletonList(securityScheme())) .securityContexts(Collections.singletonList(securityContext())); } private ApiInfo apiInfo() { return new ApiInfoBuilder() // 页面标题 .title("OAuth3权限管理API文档") .contact(new Contact("wwz", "", "wwzwtf@qq.com")) .description("OAuth3维护文档") .version("1.0") .extensions(Collections.emptyList()) .build(); } /** * 这个类决定了你使用哪种认证方式,我这里使用密码模式 */ private SecurityScheme securityScheme() { GrantType grantType = new ResourceOwnerPasswordCredentialsGrant(AUTH_SERVER); return new OAuthBuilder() .name("OAuth3") .grantTypes(Collections.singletonList(grantType)) .scopes(Arrays.asList(scopes())) .build(); } /** * 这里设置 swagger2 认证的安全上下文 */ private SecurityContext securityContext() { return SecurityContext.builder() .securityReferences(Collections.singletonList(new SecurityReference("OAuth3", scopes()))) .forPaths(PathSelectors.any()) .build(); } /** * 这里是写允许认证的scope */ private AuthorizationScope[] scopes() { return new AuthorizationScope[]{ }; }}在MySecurityResourceServerConfig 放行swagger相关。
界面截图:
登录截图:
测试:
swagger 整合OAuth2完成。
看完上述内容,你们掌握swagger2如何集成OAuth2的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
配置
文档
地址
截图
方式
权限
登录
认证
内容
接口
文件
方法
更多
标题
模式
激活
篇文章
问题
页面
管理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
惠普服务器网卡驱动
庆余年手游哪个是官方服务器
重庆百牛软件开发中心
软件开发人员任务分配表
dell服务器风扇接口
notes系统连接不了服务器
tp如何获取数据库版本
基本草原划定数据库结构
有什么网络安全赚钱的
在联通做软件开发怎么样
内网访问服务器数据库
网络安全怎么解决方案
中尧软件开发公司
我的世界离线账号怎么加入服务器
k8s服务器拒绝访问
天河小程序软件开发方案
如何使用脚本建立数据库链接
实例说明如何防范网络安全风险
禹容网络安全
结构体与数据库
网络安全能干到几岁
土地利用数据库标准2018下载
网络安全大练兵考核
天津推广软件开发条件
冒险岛登录账号密码与服务器连接
战雷god服务器
光网络技术研究中心
数据库 排序字段
龙之谷手游服务器价格
结构体与数据库