官方文档地址:Other authentication methods


Elasticsearch Token Service tokens

如果希望客户端使用 Elasticsearch access token 进行身份验证,请设置相关的 HTTP 请求头。如果客户端仅代表单个用户进行请求,可以将必要的Authorization头设置为默认头,示例如下:

  1. RestClientBuilder builder = RestClient.builder(
  2. new HttpHost("localhost", 9200, "http"));
  3. Header[] defaultHeaders =
  4. new Header[]{new BasicHeader("Authorization",
  5. "Bearer u6iuAxZ0RG1Kcm5jVFI4eU4tZU9aVFEwT2F3")};
  6. builder.setDefaultHeaders(defaultHeaders);

Elasticsearch API keys

如果您希望客户端使用 Elasticsearch API key 进行身份验证,请设置相关的 HTTP 请求头。如果客户端仅代表单个用户发出请求,可以将必要的Authorization头设置为默认头,示例如下:

  1. String apiKeyId = "uqlEyn8B_gQ_jlvwDIvM";
  2. String apiKeySecret = "HxHWk2m4RN-V_qg9cDpuX";
  3. String apiKeyAuth =
  4. Base64.getEncoder().encodeToString(
  5. (apiKeyId + ":" + apiKeySecret)
  6. .getBytes(StandardCharsets.UTF_8));
  7. RestClientBuilder builder = RestClient.builder(
  8. new HttpHost("localhost", 9200, "http"));
  9. Header[] defaultHeaders =
  10. new Header[]{new BasicHeader("Authorization",
  11. "ApiKey " + apiKeyAuth)};
  12. builder.setDefaultHeaders(defaultHeaders);