use of org.molgenis.security.core.runas.SystemSecurityToken in project molgenis by molgenis.
the class AuthenticationAuthoritiesUpdaterImplTest method testUpdateAuthenticationSystemSecurityToken.
@Test
public void testUpdateAuthenticationSystemSecurityToken() {
SystemSecurityToken systemSecurityToken = mock(SystemSecurityToken.class);
Authentication updatedAuthentication = authenticationAuthoritiesUpdaterImpl.updateAuthentication(systemSecurityToken, updatedAuthorities);
assertEquals(updatedAuthentication, systemSecurityToken);
}
use of org.molgenis.security.core.runas.SystemSecurityToken in project molgenis by molgenis.
the class AuthenticationAuthoritiesUpdaterImpl method updateAuthentication.
@Override
public Authentication updateAuthentication(Authentication authentication, List<GrantedAuthority> updatedAuthorities) {
Authentication newAuthentication;
if (authentication instanceof TwoFactorAuthenticationToken) {
TwoFactorAuthenticationToken twoFactorAuthenticationToken = (TwoFactorAuthenticationToken) authentication;
newAuthentication = new TwoFactorAuthenticationToken(authentication.getPrincipal(), authentication.getCredentials(), updatedAuthorities, twoFactorAuthenticationToken.getVerificationCode(), twoFactorAuthenticationToken.getSecretKey());
} else if (authentication instanceof SystemSecurityToken) {
newAuthentication = authentication;
} else if (authentication instanceof RestAuthenticationToken) {
RestAuthenticationToken restAuthenticationToken = (RestAuthenticationToken) authentication;
newAuthentication = new RestAuthenticationToken(authentication.getPrincipal(), authentication.getCredentials(), updatedAuthorities, restAuthenticationToken.getToken());
} else if (authentication instanceof RecoveryAuthenticationToken) {
RecoveryAuthenticationToken recoveryAuthenticationToken = (RecoveryAuthenticationToken) authentication;
newAuthentication = new RecoveryAuthenticationToken(authentication.getPrincipal(), authentication.getCredentials(), updatedAuthorities, recoveryAuthenticationToken.getRecoveryCode());
} else if (authentication instanceof UsernamePasswordAuthenticationToken) {
newAuthentication = new UsernamePasswordAuthenticationToken(authentication.getPrincipal(), authentication.getCredentials(), updatedAuthorities);
} else if (authentication instanceof RunAsUserToken) {
RunAsUserToken runAsUserToken = (RunAsUserToken) authentication;
newAuthentication = new RunAsUserTokenDecorator(runAsUserToken, updatedAuthorities);
} else if (authentication instanceof AnonymousAuthenticationToken) {
AnonymousAuthenticationToken anonymousAuthenticationToken = (AnonymousAuthenticationToken) authentication;
newAuthentication = new AnonymousAuthenticationTokenDecorator(anonymousAuthenticationToken, updatedAuthorities);
} else {
throw new SessionAuthenticationException(format("Unknown authentication type '%s'", authentication.getClass().getSimpleName()));
}
return newAuthentication;
}
Aggregations