Reviewed-on: https://git.simonis.lol/projects/casino/pulls/1 Reviewed-by: Huy <ptran@noreply@simonis.lol> Reviewed-by: lziemke <lea.z4@schule.bremen.de>
61 lines
No EOL
2.5 KiB
Java
61 lines
No EOL
2.5 KiB
Java
package de.szut.casino.config;
|
|
|
|
|
|
|
|
import io.swagger.v3.oas.models.Components;
|
|
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;
|
|
import io.swagger.v3.oas.models.servers.Server;
|
|
import jakarta.servlet.ServletContext;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
|
|
@Configuration
|
|
public class OpenAPIConfiguration {
|
|
|
|
private ServletContext context;
|
|
|
|
public OpenAPIConfiguration(ServletContext context) {
|
|
this.context = context;
|
|
}
|
|
|
|
|
|
@Bean
|
|
public OpenAPI springShopOpenAPI(
|
|
// @Value("${info.app.version}") String appVersion,
|
|
) {
|
|
final String securitySchemeName = "bearerAuth";
|
|
|
|
return new OpenAPI()
|
|
.addServersItem(new Server().url(this.context.getContextPath()))
|
|
.info(new Info()
|
|
.title("LF12 project starter")
|
|
.description("\n## Auth\n" +
|
|
"\n## Authentication\n" + "\nThis Hello service uses JWTs to authenticate requests. You will receive a bearer token by making a POST-Request in IntelliJ on:\n\n" +
|
|
"\n" +
|
|
"```\nPOST http://localhost:9090/realms/LF12/protocol/openid-connect/token\n" +
|
|
"Content-Type: application/x-www-form-urlencoded\n" +
|
|
"\n" +
|
|
"grant_type=password&client_id=lf12&username=lf12_test_user&password=secret\n```\n" +
|
|
"\n" +
|
|
"\nTo get a bearer-token in Postman, you have to follow the instructions in \n [Postman-Documentation](https://documenter.getpostman.com/view/7294517/SzmfZHnd).")
|
|
|
|
.version("0.1"))
|
|
.addSecurityItem(new SecurityRequirement().addList(securitySchemeName))
|
|
.components(
|
|
new Components()
|
|
.addSecuritySchemes(securitySchemeName,
|
|
new SecurityScheme()
|
|
.name(securitySchemeName)
|
|
.type(SecurityScheme.Type.HTTP)
|
|
.scheme("bearer")
|
|
.bearerFormat("JWT")
|
|
)
|
|
);
|
|
}
|
|
|
|
|
|
} |