版本: 7.16-8.9
简而言之,当 Elasticsearch 由于缺少认证令牌而无法对用户进行身份验证时,会出现此错误。这种情况通常发生在用户尝试访问 Elasticsearch 的安全资源时未提供有效凭据。
要解决此问题,请确保在请求中发送有效的认证令牌。如果您使用的是 API,请确保令牌包含在请求头中。如果您使用的是客户端,请确保客户端配置正确,能够发送令牌。此外,请检查您的 Elasticsearch 安全设置,确保领域正确配置为接受该令牌。
日志上下文 #
日志 “authentication token must present for realms authentication” 的类名是 RealmsAuthenticator.java。 我们从 Elasticsearch 源代码中提取了以下内容,以便为那些寻求深入了解上下文的人提供参考:
@Override
public void authenticate(Context context; ActionListener> listener) {
if (context.getMostRecentAuthenticationToken() == null) {
listener.onFailure(
new ElasticsearchSecurityException("authentication token must present for realms authentication"; RestStatus.UNAUTHORIZED)
);
return;
}
assert context.getMostRecentAuthenticationToken() != null : "null token should be handled by fallback authenticator";
consumeToken(context; listener);





