Add swagger endpoint for refresh jwt token
This commit is contained in:
parent
c76cd05b12
commit
82a823cac8
@ -84,6 +84,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
|
|||||||
public class SwaggerConfiguration {
|
public class SwaggerConfiguration {
|
||||||
|
|
||||||
public static final String LOGIN_ENDPOINT = "/api/auth/login";
|
public static final String LOGIN_ENDPOINT = "/api/auth/login";
|
||||||
|
public static final String REFRESH_TOKEN_ENDPOINT = "/api/auth/token";
|
||||||
|
|
||||||
private static final ApiResponses loginResponses = loginResponses();
|
private static final ApiResponses loginResponses = loginResponses();
|
||||||
private static final ApiResponses defaultErrorResponses = defaultErrorResponses(false);
|
private static final ApiResponses defaultErrorResponses = defaultErrorResponses(false);
|
||||||
@ -150,6 +151,7 @@ public class SwaggerConfiguration {
|
|||||||
.info(info);
|
.info(info);
|
||||||
addDefaultSchemas(openApi);
|
addDefaultSchemas(openApi);
|
||||||
addLoginOperation(openApi);
|
addLoginOperation(openApi);
|
||||||
|
addRefreshTokenOperation(openApi);
|
||||||
return openApi;
|
return openApi;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -210,6 +212,29 @@ public class SwaggerConfiguration {
|
|||||||
openAPI.path(LOGIN_ENDPOINT, pathItem);
|
openAPI.path(LOGIN_ENDPOINT, pathItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addRefreshTokenOperation(OpenAPI openAPI) {
|
||||||
|
var operation = new Operation();
|
||||||
|
operation.summary("Refresh user JWT token data");
|
||||||
|
operation.description("""
|
||||||
|
Method to refresh JWT token. Provide a valid refresh token to get a new JWT token.
|
||||||
|
|
||||||
|
The response contains a new token that can be used for authorization.
|
||||||
|
|
||||||
|
`X-Authorization: Bearer $JWT_TOKEN_VALUE`""");
|
||||||
|
|
||||||
|
var requestBody = new RequestBody().description("Refresh token request")
|
||||||
|
.content(new Content().addMediaType(APPLICATION_JSON_VALUE,
|
||||||
|
new MediaType().schema(new Schema<JsonNode>().addProperty("refreshToken", new Schema<>().type("string")))));
|
||||||
|
|
||||||
|
operation.requestBody(requestBody);
|
||||||
|
|
||||||
|
operation.responses(loginResponses);
|
||||||
|
|
||||||
|
operation.addTagsItem("login-endpoint");
|
||||||
|
var pathItem = new PathItem().post(operation);
|
||||||
|
openAPI.path(REFRESH_TOKEN_ENDPOINT, pathItem);
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public GroupedOpenApi groupedApi(SpringDocParameterNameDiscoverer localSpringDocParameterNameDiscoverer) {
|
public GroupedOpenApi groupedApi(SpringDocParameterNameDiscoverer localSpringDocParameterNameDiscoverer) {
|
||||||
return GroupedOpenApi.builder()
|
return GroupedOpenApi.builder()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user