use of io.swagger.v3.oas.annotations.Hidden in project Singularity by HubSpot.
the class AuthResource method generateToken.
@POST
@Path("/token")
@Operation(summary = "Generate a new auth token for the provided user data, or for current authed user if no user provided in post body. Only one token can be active for a user at a time", responses = { @ApiResponse(responseCode = "200", description = "the user data and generated token") })
public SingularityTokenResponse generateToken(@Parameter(hidden = true) @Auth SingularityUser user, SingularityTokenRequest tokenRequest) throws NoSuchAlgorithmException, InvalidKeySpecException {
if (tokenRequest.getUser().isPresent()) {
// only admins can create a token for another user
authorizationHelper.checkAdminAuthorization(user);
}
SingularityUser userData = tokenRequest.getUser().orElse(user);
authTokenManager.clearTokensForUser(userData.getName());
if (tokenRequest.getToken().isPresent()) {
return authTokenManager.saveToken(tokenRequest.getToken().get(), userData);
} else {
return authTokenManager.generateToken(userData);
}
}
Aggregations