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

fun.mike.azure.auth.Authenticator Maven / Gradle / Ivy

There is a newer version: 0.0.12
Show newest version
package fun.mike.azure.auth;

public class Authenticator {
    private final String tenantId;
    private final String clientId;

    public Authenticator(String tenantId, String clientId) {
        this.tenantId = tenantId;
        this.clientId = clientId;
    }

    public AuthenticationResult authenticate(String header) {
        BearerTokenResult bearerTokenResult = BearerTokenParser.parse(header);

        if (bearerTokenResult.failed()) {
            return AuthenticationResult.failed(bearerTokenResult.getMessage());
        }

        JwksUrlResult jwksUrlResult = JwksUrlFetcher.fetch(tenantId);

        if (jwksUrlResult.failed()) {
            return AuthenticationResult.failed(jwksUrlResult.getMessage());
        }

        String token = bearerTokenResult.getToken();
        String jwksUrl = jwksUrlResult.getUrl();

        return TokenValidator.validate(tenantId, clientId, jwksUrl, token);
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy