This repository has been archived on 2025-02-19. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
casino/backend/src/main/java/de/szut/casino/config/OpenAPIConfiguration.java
Constantin Simonis 25216d10fa chore(setup): setup java backend
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>
2025-02-05 09:53:26 +00:00

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")
)
);
}
}