Search in sources :

Example 1 with RestAuthenticationToken

use of org.molgenis.security.token.RestAuthenticationToken in project molgenis by molgenis.

the class AuthenticationAuthoritiesUpdaterImplTest method testUpdateAuthenticationRestAuthenticationToken.

@Test
public void testUpdateAuthenticationRestAuthenticationToken() {
    Object principal = mock(Object.class);
    Object credentials = mock(Object.class);
    String token = "token";
    RestAuthenticationToken restAuthenticationToken = new RestAuthenticationToken(principal, credentials, emptyList(), token);
    Authentication updatedAuthentication = authenticationAuthoritiesUpdaterImpl.updateAuthentication(restAuthenticationToken, updatedAuthorities);
    assertEquals(updatedAuthentication, new RestAuthenticationToken(principal, credentials, updatedAuthorities, token));
}
Also used : Authentication(org.springframework.security.core.Authentication) RestAuthenticationToken(org.molgenis.security.token.RestAuthenticationToken) Test(org.testng.annotations.Test)

Example 2 with RestAuthenticationToken

use of org.molgenis.security.token.RestAuthenticationToken in project molgenis by molgenis.

the class TwoFactorAuthenticationFilter method hasAuthenticatedMolgenisToken.

/**
 * Check on authenticated RestAuthenticationToken
 *
 * @return authenticated {@link RestAuthenticationToken}
 */
private boolean hasAuthenticatedMolgenisToken() {
    boolean hasAuthenticatedMolgenisToken = false;
    Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
    if (authentication instanceof RestAuthenticationToken) {
        hasAuthenticatedMolgenisToken = authentication.isAuthenticated();
    }
    return hasAuthenticatedMolgenisToken;
}
Also used : Authentication(org.springframework.security.core.Authentication) RestAuthenticationToken(org.molgenis.security.token.RestAuthenticationToken)

Example 3 with RestAuthenticationToken

use of org.molgenis.security.token.RestAuthenticationToken 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;
}
Also used : RecoveryAuthenticationToken(org.molgenis.security.twofactor.auth.RecoveryAuthenticationToken) SessionAuthenticationException(org.springframework.security.web.authentication.session.SessionAuthenticationException) RunAsUserToken(org.springframework.security.access.intercept.RunAsUserToken) Authentication(org.springframework.security.core.Authentication) UsernamePasswordAuthenticationToken(org.springframework.security.authentication.UsernamePasswordAuthenticationToken) SystemSecurityToken(org.molgenis.security.core.runas.SystemSecurityToken) AnonymousAuthenticationToken(org.springframework.security.authentication.AnonymousAuthenticationToken) RestAuthenticationToken(org.molgenis.security.token.RestAuthenticationToken) TwoFactorAuthenticationToken(org.molgenis.security.twofactor.auth.TwoFactorAuthenticationToken)

Aggregations

RestAuthenticationToken (org.molgenis.security.token.RestAuthenticationToken)3 Authentication (org.springframework.security.core.Authentication)3 SystemSecurityToken (org.molgenis.security.core.runas.SystemSecurityToken)1 RecoveryAuthenticationToken (org.molgenis.security.twofactor.auth.RecoveryAuthenticationToken)1 TwoFactorAuthenticationToken (org.molgenis.security.twofactor.auth.TwoFactorAuthenticationToken)1 RunAsUserToken (org.springframework.security.access.intercept.RunAsUserToken)1 AnonymousAuthenticationToken (org.springframework.security.authentication.AnonymousAuthenticationToken)1 UsernamePasswordAuthenticationToken (org.springframework.security.authentication.UsernamePasswordAuthenticationToken)1 SessionAuthenticationException (org.springframework.security.web.authentication.session.SessionAuthenticationException)1 Test (org.testng.annotations.Test)1