41 lines
1.5 KiB
Java
41 lines
1.5 KiB
Java
package com.imeeting.config;
|
|
|
|
import io.swagger.v3.oas.annotations.enums.SecuritySchemeIn;
|
|
import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
|
|
import io.swagger.v3.oas.annotations.security.SecurityScheme;
|
|
import io.swagger.v3.oas.models.OpenAPI;
|
|
import io.swagger.v3.oas.models.info.Info;
|
|
import io.swagger.v3.oas.models.security.SecurityRequirement;
|
|
import io.swagger.v3.oas.models.security.SecurityScheme.In;
|
|
import io.swagger.v3.oas.models.security.SecurityScheme.Type;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
@Configuration
|
|
@SecurityScheme(
|
|
name = OpenApiConfig.BEARER_AUTH_SCHEME,
|
|
type = SecuritySchemeType.HTTP,
|
|
scheme = "bearer",
|
|
bearerFormat = "JWT",
|
|
in = SecuritySchemeIn.HEADER
|
|
)
|
|
public class OpenApiConfig {
|
|
|
|
public static final String BEARER_AUTH_SCHEME = "bearerAuth";
|
|
|
|
@Bean
|
|
public OpenAPI imeetingOpenApi() {
|
|
return new OpenAPI()
|
|
.info(new Info()
|
|
.title("iMeeting 接口文档")
|
|
.description("iMeeting 后端 REST 接口与兼容接口文档")
|
|
.version("v0.1.0"))
|
|
.addSecurityItem(new SecurityRequirement().addList(BEARER_AUTH_SCHEME))
|
|
.schemaRequirement(BEARER_AUTH_SCHEME, new io.swagger.v3.oas.models.security.SecurityScheme()
|
|
.type(Type.HTTP)
|
|
.scheme("bearer")
|
|
.bearerFormat("JWT")
|
|
.in(In.HEADER));
|
|
}
|
|
}
|