use of org.craftercms.profile.api.PersistentLogin in project profile by craftercms.
the class RememberMeManagerImpl method enableRememberMe.
@Override
public void enableRememberMe(Authentication authentication, RequestContext context) throws RememberMeException {
String profileId = authentication.getProfile().getId().toString();
PersistentLogin login;
try {
login = authenticationService.createPersistentLogin(profileId);
} catch (ProfileException e) {
throw new RememberMeException("Error creating persistent login for profile '" + profileId + "'", e);
}
logger.debug("Persistent login created: {}", login);
addRememberMeCookie(serializeLogin(login), context.getResponse());
}
use of org.craftercms.profile.api.PersistentLogin in project engine by craftercms.
the class ProfileRememberMeServices method onLoginSuccess.
@Override
protected void onLoginSuccess(final HttpServletRequest request, final HttpServletResponse response, final Authentication successfulAuthentication) {
ProfileUser profileUser = (ProfileUser) successfulAuthentication.getPrincipal();
try {
PersistentLogin persistentLogin = authenticationService.createPersistentLogin(profileUser.getProfile().getId().toHexString());
setCookie(new String[] { persistentLogin.getId(), persistentLogin.getToken() }, getTokenValiditySeconds(), request, response);
} catch (ProfileException e) {
throw new RememberMeAuthenticationException("Error creating persistent login for " + profileUser.getUsername(), e);
}
}
use of org.craftercms.profile.api.PersistentLogin in project profile by craftercms.
the class AuthenticationServiceImpl method refreshPersistentLoginToken.
@Override
public PersistentLogin refreshPersistentLoginToken(String loginId) throws ProfileException {
PersistentLogin login = getPersistentLogin(loginId);
if (login != null) {
try {
login.setToken(UUID.randomUUID().toString());
persistentLoginRepository.save(login);
logger.debug(LOG_KEY_PERSISTENT_LOGIN_TOKEN_REFRESHED, loginId, login.getToken());
return login;
} catch (MongoDataException e) {
throw new I10nProfileException(ERROR_KEY_UPDATE_PERSISTENT_LOGIN_ERROR, loginId);
}
} else {
throw new NoSuchPersistentLoginException(loginId);
}
}
use of org.craftercms.profile.api.PersistentLogin in project profile by craftercms.
the class RememberMeManagerImplTest method getLogin2.
protected PersistentLogin getLogin2() {
PersistentLogin login = new PersistentLogin();
login.setId(LOGIN_ID);
login.setToken(LOGIN_TOKEN2);
login.setProfileId(PROFILE_ID.toString());
return login;
}
use of org.craftercms.profile.api.PersistentLogin in project profile by craftercms.
the class AuthenticationServiceImplTest method testCreatePersistentLogin.
@Test
public void testCreatePersistentLogin() throws Exception {
PersistentLogin login = authenticationService.createPersistentLogin(PROFILE1_ID.toString());
assertNotNull(login);
assertNotNull(login.getId());
assertEquals(TENANT_NAME, login.getTenant());
assertEquals(PROFILE1_ID.toString(), login.getProfileId());
assertNotNull(login.getToken());
assertNotNull(login.getTimestamp());
verify(profileService).getProfile(PROFILE1_ID.toString(), ProfileConstants.NO_ATTRIBUTE);
verify(persistentLoginRepository).insert(login);
}
Aggregations