在开发 Rest API 时,经常会使用 swagger 进行 API 测试,但是 API 通常情况下都是受保护的,需要携带 token 才能访问,本篇文章将介绍在 Spring Boot 中,swagger 怎样与 OAuth2 服务集成。
本文所使用的环境:
- Java8
- Spring Boot 2.0
- Spring OAuth2
- Keycloak OAuth2 认证服务器
- Gradle
首先是 swagger 的配置:
package me.javaroad.mcloud.apigw.config;
import com.google.common.collect.Lists;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.OAuthBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.AuthorizationCodeGrant;
import springfox.documentation.service.AuthorizationScope;
import springfox.documentation.service.GrantType;
import springfox.documentation.service.Secur