use of com.khartec.waltz.model.user.LoginRequest in project waltz by khartec.
the class AuthenticationEndpoint method register.
@Override
public void register() {
post(mkPath(BASE_URL, "login"), (request, response) -> {
LoginRequest login = readBody(request, LoginRequest.class);
if (userService.authenticate(login)) {
Algorithm algorithmHS = Algorithm.HMAC512(JWTUtilities.SECRET);
String[] roles = userRoleService.getUserRoles(login.userName()).stream().map(r -> r.name()).toArray(size -> new String[size]);
String token = JWT.create().withIssuer(JWTUtilities.ISSUER).withSubject(login.userName()).withArrayClaim("roles", roles).withClaim("displayName", login.userName()).withClaim("employeeId", login.userName()).sign(algorithmHS);
return newHashMap("token", token);
} else {
response.status(401);
return "Unknown user/password";
}
}, transformer);
before(mkPath("api", "*"), filter);
}
Aggregations