use of com.auth0.flickr2.domain.User in project survey by markoniemi.
the class JwtTokenTest method verifyToken.
@Test
public void verifyToken() {
try {
User user = new User("username", "password", "email", Role.ROLE_USER);
Map<String, Object> payload = new HashMap<String, Object>();
payload.put("username", user.getUsername());
JwtToken token = new JwtToken(payload, 10);
token.verifyToken();
} catch (Exception e) {
Assert.fail();
}
}
use of com.auth0.flickr2.domain.User in project survey by markoniemi.
the class JwtTokenTest method verifyTokenWithInvalidSignature.
@Test()
public void verifyTokenWithInvalidSignature() {
try {
User user = new User("username", "password", "email", Role.ROLE_USER);
JWTSigner jwtSigner = new JWTSigner("wrong_secret");
Map<String, Object> payload = new HashMap<String, Object>();
payload.put("username", user.getUsername());
String tokenString = jwtSigner.sign(payload);
JwtToken token = new JwtToken(tokenString);
token.verifyToken();
Assert.fail();
} catch (Exception e) {
Assert.assertTrue(e instanceof JWTVerifyException);
}
}
use of com.auth0.flickr2.domain.User in project gravitee-management-rest-api by gravitee-io.
the class AbstractAuthenticationResource method connectUserInternal.
protected Response connectUserInternal(UserEntity user, final String state, final HttpServletResponse servletResponse, final String accessToken, final String idToken) {
final Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
final UserDetails userDetails = (UserDetails) authentication.getPrincipal();
// Manage authorities, initialize it with dynamic permissions from the IDP
List<Map<String, String>> authorities = userDetails.getAuthorities().stream().map(authority -> Maps.<String, String>builder().put("authority", authority.getAuthority()).build()).collect(Collectors.toList());
// We must also load permissions from repository for configured management or portal role
Set<RoleEntity> userRoles = membershipService.getRoles(MembershipReferenceType.ORGANIZATION, GraviteeContext.getCurrentOrganization(), MembershipMemberType.USER, userDetails.getId());
if (!userRoles.isEmpty()) {
userRoles.forEach(role -> authorities.add(Maps.<String, String>builder().put("authority", role.getScope().toString() + ':' + role.getName()).build()));
}
// JWT signer
Algorithm algorithm = Algorithm.HMAC256(environment.getProperty("jwt.secret"));
Date issueAt = new Date();
Instant expireAt = issueAt.toInstant().plus(Duration.ofSeconds(environment.getProperty("jwt.expire-after", Integer.class, DEFAULT_JWT_EXPIRE_AFTER)));
final String token = JWT.create().withIssuer(environment.getProperty("jwt.issuer", DEFAULT_JWT_ISSUER)).withIssuedAt(issueAt).withExpiresAt(Date.from(expireAt)).withSubject(user.getId()).withClaim(JWTHelper.Claims.PERMISSIONS, authorities).withClaim(JWTHelper.Claims.EMAIL, user.getEmail()).withClaim(JWTHelper.Claims.FIRSTNAME, user.getFirstname()).withClaim(JWTHelper.Claims.LASTNAME, user.getLastname()).withJWTId(UUID.randomUUID().toString()).sign(algorithm);
final TokenEntity tokenEntity = new TokenEntity();
tokenEntity.setType(BEARER);
tokenEntity.setToken(token);
if (idToken != null) {
tokenEntity.setAccessToken(accessToken);
tokenEntity.setIdToken(idToken);
}
if (state != null && !state.isEmpty()) {
tokenEntity.setState(state);
}
final Cookie bearerCookie = cookieGenerator.generate(TokenAuthenticationFilter.AUTH_COOKIE_NAME, "Bearer%20" + token);
servletResponse.addCookie(bearerCookie);
return Response.ok(tokenEntity).build();
}
use of com.auth0.flickr2.domain.User in project gravitee-management-rest-api by gravitee-io.
the class UserServiceTest method changePassword.
@Test
public void changePassword() throws TechnicalException {
when(environment.getProperty("jwt.secret")).thenReturn(JWT_SECRET);
when(passwordValidator.validate(anyString())).thenReturn(true);
User user = new User();
user.setId("CUSTOM_LONG_ID");
user.setEmail(EMAIL);
user.setFirstname(FIRST_NAME);
user.setLastname(LAST_NAME);
when(userRepository.findById(USER_NAME)).thenReturn(Optional.of(user));
when(userRepository.update(any())).thenAnswer(returnsFirstArg());
ResetPasswordUserEntity userEntity = new ResetPasswordUserEntity();
userEntity.setToken(createJWT(System.currentTimeMillis() / 1000 + 100, RESET_PASSWORD.name()));
userEntity.setPassword(PASSWORD);
userService.finalizeResetPassword(userEntity);
verify(auditService).createOrganizationAuditLog(anyMap(), argThat(evt -> evt.equals(User.AuditEvent.PASSWORD_CHANGED)), any(), any(), any());
}
use of com.auth0.flickr2.domain.User in project gravitee-management-rest-api by gravitee-io.
the class UserServiceTest method shouldUpdateUser_butNotEmail.
@Test
public void shouldUpdateUser_butNotEmail() throws TechnicalException {
final String USER_ID = "myuserid";
final String USER_EMAIL = "my.user@acme.fr";
final String SOURCE = "gravitee-no-email-update";
User user = new User();
user.setId(USER_ID);
user.setEmail(EMAIL);
user.setFirstname(FIRST_NAME);
user.setLastname(LAST_NAME);
user.setSource(SOURCE);
user.setSourceId(USER_ID);
user.setOrganizationId(ORGANIZATION);
when(userRepository.update(any(User.class))).thenAnswer(new Answer<User>() {
@Override
public User answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
return (User) args[0];
}
});
when(userRepository.findById(USER_ID)).thenReturn(Optional.of(user));
when(updateUser.getEmail()).thenReturn(USER_EMAIL);
String UPDATED_LAST_NAME = LAST_NAME + "updated";
String UPDATED_FIRST_NAME = FIRST_NAME + "updated";
when(updateUser.getFirstname()).thenReturn(UPDATED_FIRST_NAME);
when(updateUser.getLastname()).thenReturn(UPDATED_LAST_NAME);
userService.update(user.getId(), updateUser);
verify(userRepository).update(argThat(userToUpdate -> USER_ID.equals(userToUpdate.getId()) && SOURCE.equals(userToUpdate.getSource()) && USER_EMAIL.equals(userToUpdate.getEmail()) && // sourceId shouldn't be updated in this case
USER_ID.equals(userToUpdate.getSourceId()) && UPDATED_FIRST_NAME.equals(userToUpdate.getFirstname()) && UPDATED_LAST_NAME.equals(userToUpdate.getLastname())));
}
Aggregations