fix: apply bearer auth in OpenAPI

master
chenyuan 4 weeks ago
parent d6e34bfaeb
commit ae792f23e8

@ -2,6 +2,7 @@ package com.yau.digitalrmb.shared.config;
import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme; import io.swagger.v3.oas.models.security.SecurityScheme;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -11,6 +12,7 @@ public class OpenApiConfig {
@Bean @Bean
OpenAPI openAPI() { OpenAPI openAPI() {
return new OpenAPI().info(new Info().title("数字人民币教学仿真后端").version("0.1.0")) return new OpenAPI().info(new Info().title("数字人民币教学仿真后端").version("0.1.0"))
.addSecurityItem(new SecurityRequirement().addList("bearerAuth"))
.schemaRequirement("bearerAuth", new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")); .schemaRequirement("bearerAuth", new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT"));
} }
} }

@ -0,0 +1,17 @@
package com.yau.digitalrmb.shared.config;
import io.swagger.v3.oas.models.OpenAPI;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
class OpenApiConfigTest {
@Test
void appliesBearerAuthenticationToDocumentedOperationsByDefault() {
OpenAPI openApi = new OpenApiConfig().openAPI();
assertThat(openApi.getSecurity()).singleElement()
.satisfies(requirement -> assertThat(requirement).containsKey("bearerAuth"));
}
}
Loading…
Cancel
Save