package com.datahub.authentication;

/**
 * A set of shared constants related to Authentication.
 */
public class AuthenticationConstants {

  /**
   * Name of the header which carries authorization information
   */
  public static final String AUTHORIZATION_HEADER_NAME = "Authorization";

  /**
   * A deprecated header that previously carried the urn of the authenticated actor.
   * This has been replaced by the DELEGATED_FOR_ACTOR_ID and DELEGATED_FOR_ACTOR_TYPE headers.
   */
  public static final String LEGACY_X_DATAHUB_ACTOR_HEADER = "X-DataHub-Actor";

  /**
   * A header capturing the unique Actor Id that is delegating a request.
   */
  public static final String DELEGATED_FOR_ACTOR_ID_HEADER_NAME = "X-DataHub-Delegated-For-Id";

  /**
   * A header capturing the unique Actor Type that is delegating a request.
   */
  public static final String DELEGATED_FOR_ACTOR_TYPE_HEADER_NAME = "X-DataHub-Delegated-For-Type";

  public static final String SYSTEM_CLIENT_ID_CONFIG = "systemClientId";
  public static final String SYSTEM_CLIENT_SECRET_CONFIG = "systemClientSecret";

  public static final String ENTITY_SERVICE = "entityService";
  public static final String TOKEN_SERVICE = "tokenService";

  private AuthenticationConstants() {
  }
}
