其他身份验证方法编辑

Elasticsearch Token Service 令牌编辑

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

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

Elasticsearch API 密钥编辑

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

String apiKeyId = "uqlEyn8B_gQ_jlvwDIvM";
String apiKeySecret = "HxHWk2m4RN-V_qg9cDpuX";
String apiKeyAuth =
    Base64.getEncoder().encodeToString(
        (apiKeyId + ":" + apiKeySecret)
            .getBytes(StandardCharsets.UTF_8));
RestClientBuilder builder = RestClient.builder(
    new HttpHost("localhost", 9200, "http"));
Header[] defaultHeaders =
    new Header[]{new BasicHeader("Authorization",
        "ApiKey " + apiKeyAuth)};
builder.setDefaultHeaders(defaultHeaders);