use of io.picos.sailfish.mfa.google.spi.mongo.DefaultGoogleAuthenticatorSetting in project sailfish-mfa by picos-io.
the class GoogleAuthnServiceImpl method refreshGoogleAuthnSecret.
/**
* Generate new secret for the specified identity. If the GoogleAuthenticator is not existed, GoogleAuthnException will be thrown.
*
* @param username
* @return
*/
@Override
public GoogleAuthenticatorSetting refreshGoogleAuthnSecret(String username) {
MutableGoogleAuthenticatorSetting googleAuthenticatorSetting = (MutableGoogleAuthenticatorSetting) googleAuthenticatorStore.findByUsername(username);
if (googleAuthenticatorSetting == null) {
throw new AuthenticatorNotFoundException();
}
GoogleAuthenticatorKey googleAuthenticatorKey = googleAuthenticator.createCredentials();
googleAuthenticatorSetting.setSecret(googleAuthenticatorKey.getKey());
if (googleAuthenticatorSetting instanceof DefaultGoogleAuthenticatorSetting) {
((DefaultGoogleAuthenticatorSetting) googleAuthenticatorSetting).setModifiedAt(new Date());
}
return googleAuthenticatorStore.saveOrUpdate(googleAuthenticatorSetting);
}
use of io.picos.sailfish.mfa.google.spi.mongo.DefaultGoogleAuthenticatorSetting in project sailfish-mfa by picos-io.
the class GoogleAuthenticatorStoreImpl method saveOrUpdate.
/**
* @param googleAuthenticatorSetting
*/
@Override
public GoogleAuthenticatorSetting saveOrUpdate(GoogleAuthenticatorSetting googleAuthenticatorSetting) {
if (googleAuthenticatorSetting instanceof DefaultGoogleAuthenticatorSetting) {
googleAuthenticatorSettingRepository.save((DefaultGoogleAuthenticatorSetting) googleAuthenticatorSetting);
}
DefaultGoogleAuthenticatorSetting defaultGoogleAuthenticatorSetting = googleAuthenticatorSettingRepository.findFirstByUsername(googleAuthenticatorSetting.getUsername());
if (defaultGoogleAuthenticatorSetting == null) {
defaultGoogleAuthenticatorSetting = new DefaultGoogleAuthenticatorSetting();
}
BeanUtils.copyProperties(googleAuthenticatorSetting, defaultGoogleAuthenticatorSetting);
return googleAuthenticatorSettingRepository.save((DefaultGoogleAuthenticatorSetting) googleAuthenticatorSetting);
}
use of io.picos.sailfish.mfa.google.spi.mongo.DefaultGoogleAuthenticatorSetting in project sailfish-mfa by picos-io.
the class GoogleAuthnServiceImpl method enableGoogleAuthenticator.
/**
* If the previous GoogleAuthenticator existed, return it directly. Otherwise create new one for the identity.
*
* @param username
* @return
*/
@Override
public GoogleAuthenticatorSetting enableGoogleAuthenticator(String username) {
MutableGoogleAuthenticatorSetting googleAuthenticatorSetting = (MutableGoogleAuthenticatorSetting) googleAuthenticatorStore.findByUsername(username);
if (googleAuthenticatorSetting == null) {
googleAuthenticatorSetting = new DefaultGoogleAuthenticatorSetting();
googleAuthenticatorSetting.setUsername(username);
if (googleAuthenticatorSetting instanceof DefaultGoogleAuthenticatorSetting) {
((DefaultGoogleAuthenticatorSetting) googleAuthenticatorSetting).setCreatedAt(new Date());
}
GoogleAuthenticatorKey googleAuthenticatorKey = googleAuthenticator.createCredentials();
googleAuthenticatorSetting.setSecret(googleAuthenticatorKey.getKey());
}
googleAuthenticatorSetting.setEnabled(true);
if (googleAuthenticatorSetting instanceof DefaultGoogleAuthenticatorSetting) {
((DefaultGoogleAuthenticatorSetting) googleAuthenticatorSetting).setModifiedAt(new Date());
}
return googleAuthenticatorStore.saveOrUpdate(googleAuthenticatorSetting);
}
use of io.picos.sailfish.mfa.google.spi.mongo.DefaultGoogleAuthenticatorSetting in project sailfish-mfa by picos-io.
the class GoogleAuthnServiceImpl method disableGoogleAuthenticator.
/**
* Disable the GoogleAuthenticator for specified identity whatever the GoogleAuthenticator existed or not.
*
* @param username
*/
@Override
public void disableGoogleAuthenticator(String username) {
MutableGoogleAuthenticatorSetting googleAuthenticatorSetting = (MutableGoogleAuthenticatorSetting) googleAuthenticatorStore.findByUsername(username);
if (googleAuthenticatorSetting == null) {
return;
}
googleAuthenticatorSetting.setEnabled(false);
if (googleAuthenticatorSetting instanceof DefaultGoogleAuthenticatorSetting) {
((DefaultGoogleAuthenticatorSetting) googleAuthenticatorSetting).setModifiedAt(new Date());
}
googleAuthenticatorStore.saveOrUpdate(googleAuthenticatorSetting);
}
Aggregations