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

com.netease.stream.auth.CredentialsProvider Maven / Gradle / Ivy

package com.netease.stream.auth;

/**
 * Interface for providing credentials. Implementations are free to use any strategy for providing
 * credentials, such as simply providing static credentials that don't change, or more complicated
 * implementations, such as integrating with existing key management systems.
 */
public interface CredentialsProvider {

    /**
     * Returns Credentials which the caller can use to authorize an request. Each implementation of
     * CredentialsProvider can chose its own strategy for loading credentials. For example, an
     * implementation might load credentials from an existing key management system, or load new
     * credentials when credentials are rotated.
     * 
     * @return Credentials which the caller can use to authorize an request.
     */
    public Credentials getCredentials();

    /**
     * Forces this credentials provider to refresh its credentials. For many implementations of
     * credentials provider, this method may simply be a no-op, such as any credentials provider
     * implementation that vends static/non-changing credentials. For other implementations that
     * vend different credentials through out their lifetime, this method should force the
     * credentials provider to refresh its credentials.
     */
    public void refresh();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy