swagger2如何集成OAuth2
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,swagger2如何集成OAuth2,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。GitHub地址码云地址swagger是一款优雅的接口
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
广州万易互联网科技有限公司
科技和互联网公司
互联网科技有限公司经营范围
疫情对互联网科技公司影响
期待互联网科技
深圳齐家互联网科技
西安互联网科技公司
奔汉互联网科技
天下捷融互联网科技
老年人脱离互联网科技的作文
济南华为互联网科技产业总部基地
阿大互联网科技有限公司
互联网金融科技展
四川慕妮娅互联网科技有限公司
卓翼科技产业互联网合作
工业互联网展湾科技股份有限公司
国大互联网教育科技有限公司薪资
南通创西澳互联网科技有限公司
互联网公司高科技产品
东营紫格互联网科技
互联网是第几次科技革命的成果
互联网科技工作委员会主任
新华互联网科技学院
青岛中康互联网医疗科技有限公司
阿里巴巴算科技企业还是互联网
江阴互联网智能科技产品进口
电子科技大学互联网创业大赛
小米互联网科技园入驻
科技和互联网行业的特点
六子台科技互联网展会