New

The executive guide to generative AI

Read more
Loading

Other authentication methods

If you want the client to authenticate with an Elasticsearch access token, set the relevant HTTP request header. If the client makes requests on behalf of a single user only, you can set the necessary Authorization header as a default header as shown in the following example:

Rest5ClientBuilder builder = Rest5Client
    .builder(new HttpHost("https", "localhost", 9200));

Header[] defaultHeaders = new Header[]{ new BasicHeader(
    "Authorization",
    "Bearer u6iuAxZ0RG1Kcm5jVFI4eU4tZU9aVFEwT2F3"
)};

builder.setDefaultHeaders(defaultHeaders);

If you want the client to authenticate with an Elasticsearch API key, set the relevant HTTP request header. If the client makes requests on behalf of a single user only, you can set the necessary Authorization header as a default header as shown in the following example:

String apiKeyId = "uqlEyn8B_gQ_jlvwDIvM";
String apiKeySecret = "HxHWk2m4RN-V_qg9cDpuX";
String apiKeyAuth = Base64.getEncoder().encodeToString(
        (apiKeyId + ":" + apiKeySecret).getBytes(StandardCharsets.UTF_8)
);

Rest5ClientBuilder builder = Rest5Client
    .builder(new HttpHost("https", "localhost", 9200));

Header[] defaultHeaders = new Header[]{ new BasicHeader(
    "Authorization",
    "ApiKey " + apiKeyAuth
)};

builder.setDefaultHeaders(defaultHeaders);