All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.optionfactory.spring.authentication.bearer.token.BearerTokenAuthentication Maven / Gradle / Ivy

package net.optionfactory.spring.authentication.bearer.token;

import java.util.Collection;
import org.springframework.security.authentication.AbstractAuthenticationToken;
import org.springframework.security.core.GrantedAuthority;

/**
 * Authentication through {@code Authorization: Bearer token} header.
 */
public class BearerTokenAuthentication extends AbstractAuthenticationToken {

    private final String token;
    private final Object principal;
    
    
    public BearerTokenAuthentication(String token, Object principal, Collection authorities) {
        super(authorities);
        this.token = token;
        this.principal = principal;
        super.setAuthenticated(authorities != null);
    }

    public BearerTokenAuthentication makeAuthenticated(Object principal, Collection authorities) {
        final BearerTokenAuthentication bearer = new BearerTokenAuthentication(token, principal, authorities);
        bearer.setDetails(getDetails());
        return bearer;
    }

    @Override
    public String getCredentials() {
        return token;
    }

    @Override
    public Object getPrincipal() {
        return principal;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy