🔨 Fix openApi
This commit is contained in:
parent
217352cf66
commit
2f96885714
@ -11,6 +11,8 @@ import org.springframework.security.core.Authentication;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.security.SecurityRequirements;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/v2/auth")
|
@RequestMapping("/api/v2/auth")
|
||||||
@CrossOrigin(origins = "*", maxAge = 3600)
|
@CrossOrigin(origins = "*", maxAge = 3600)
|
||||||
@ -25,6 +27,7 @@ public class AuthController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/discord")
|
@PostMapping("/discord")
|
||||||
|
@SecurityRequirements(value = {})
|
||||||
public JwtResponse loginDiscord(@Validated @RequestBody Login login) {
|
public JwtResponse loginDiscord(@Validated @RequestBody Login login) {
|
||||||
Authentication authentication = authenticationManager.authenticate(
|
Authentication authentication = authenticationManager.authenticate(
|
||||||
new UsernamePasswordAuthenticationToken(login.redirectUri(), login.code())
|
new UsernamePasswordAuthenticationToken(login.redirectUri(), login.code())
|
||||||
|
@ -7,10 +7,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.Hidden;
|
||||||
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/v2")
|
@RequestMapping("/api/v2")
|
||||||
@CrossOrigin(origins = "*", maxAge = 3600)
|
@CrossOrigin(origins = "*", maxAge = 3600)
|
||||||
|
@Hidden
|
||||||
public class CrossOptionController {
|
public class CrossOptionController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2,6 +2,7 @@ package net.Broken.Api.Controllers;
|
|||||||
|
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||||
|
import io.swagger.v3.oas.annotations.security.SecurityRequirements;
|
||||||
import net.Broken.DB.Entity.UserEntity;
|
import net.Broken.DB.Entity.UserEntity;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
import org.springframework.web.bind.annotation.CrossOrigin;
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
||||||
@ -12,12 +13,10 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/v2/hello")
|
@RequestMapping("/api/v2/hello")
|
||||||
@CrossOrigin(origins = "*", maxAge = 3600)
|
@CrossOrigin(origins = "*", maxAge = 3600)
|
||||||
|
|
||||||
public class HelloController {
|
public class HelloController {
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("world")
|
@GetMapping("world")
|
||||||
@Operation(security = { @SecurityRequirement(name = "jwt") })
|
|
||||||
public String helloWorld(Authentication authentication){
|
public String helloWorld(Authentication authentication){
|
||||||
UserEntity principal = (UserEntity) authentication.getPrincipal();
|
UserEntity principal = (UserEntity) authentication.getPrincipal();
|
||||||
return "Hello " + principal.getUsername();
|
return "Hello " + principal.getUsername();
|
||||||
|
@ -1,18 +1,33 @@
|
|||||||
package net.Broken.Api.OpenApi;
|
package net.Broken.Api.OpenApi;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
import io.swagger.v3.oas.models.Components;
|
import io.swagger.v3.oas.models.Components;
|
||||||
import io.swagger.v3.oas.models.OpenAPI;
|
import io.swagger.v3.oas.models.OpenAPI;
|
||||||
import io.swagger.v3.oas.models.security.SecurityRequirement;
|
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;
|
|
||||||
|
|
||||||
|
@Configuration
|
||||||
public class OpenApiConfig {
|
public class OpenApiConfig {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public OpenAPI customOpenAPI() {
|
public OpenAPI customOpenAPI() {
|
||||||
return new OpenAPI().components(new Components()
|
final String securitySchemeName = "JWT";
|
||||||
.addSecuritySchemes("jwt",
|
// final String apiTitle = String.format("%s API", StringUtils.capitalize(moduleName));
|
||||||
new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT").name("JWT")))
|
return new OpenAPI()
|
||||||
.addSecurityItem(new SecurityRequirement().addList("jwt"));
|
.addSecurityItem(new SecurityRequirement().addList(securitySchemeName))
|
||||||
|
.components(
|
||||||
|
new Components()
|
||||||
|
.addSecuritySchemes(securitySchemeName,
|
||||||
|
new SecurityScheme()
|
||||||
|
.name(securitySchemeName)
|
||||||
|
.type(SecurityScheme.Type.HTTP)
|
||||||
|
.scheme("bearer")
|
||||||
|
.bearerFormat("JWT")
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -27,6 +27,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
.authorizeRequests()
|
.authorizeRequests()
|
||||||
.antMatchers("/api/v2/auth/**").permitAll()
|
.antMatchers("/api/v2/auth/**").permitAll()
|
||||||
.antMatchers("/swagger-ui/**").permitAll()
|
.antMatchers("/swagger-ui/**").permitAll()
|
||||||
|
.antMatchers("/swagger-ui.html").permitAll()
|
||||||
.antMatchers("/v3/api-docs/**").permitAll()
|
.antMatchers("/v3/api-docs/**").permitAll()
|
||||||
.anyRequest().denyAll();
|
.anyRequest().denyAll();
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@ import io.jsonwebtoken.*;
|
|||||||
import io.jsonwebtoken.security.Keys;
|
import io.jsonwebtoken.security.Keys;
|
||||||
import net.Broken.DB.Entity.UserEntity;
|
import net.Broken.DB.Entity.UserEntity;
|
||||||
import net.Broken.DB.Repository.UserRepository;
|
import net.Broken.DB.Repository.UserRepository;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.security.Key;
|
import java.security.Key;
|
||||||
@ -16,8 +15,6 @@ import java.util.UUID;
|
|||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class JwtService {
|
public class JwtService {
|
||||||
@Value("${security.jwt.secret}")
|
|
||||||
private String jwtSecret;
|
|
||||||
|
|
||||||
private final Key jwtKey;
|
private final Key jwtKey;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user