--- title: "认证未包含元数据 - 如何解决此 Elasticsearch 异常" date: 2026-03-12 lastmod: 2026-03-12 description: "当Elasticsearch请求缺少必要的认证元数据时出现错误,需要检查安全设置和认证凭据" tags: ["认证", "OpenID Connect", "安全配置"] summary: " 版本: 7.2-8.9 简要来说,当 Elasticsearch 接收到缺少必要认证元数据的请求时,就会出现此错误。这可能是由于安全设置配置不正确或请求中缺少凭据导致的。要解决此问题,您可以检查并更正您的安全设置,确保它们已正确配置。此外,请验证您的请求是否包含必要的认证凭据。如果您正在使用 API,请确保它正确传递了认证信息。 日志上下文 # 日志"Authentication did not contain metadata"的类名是 TransportOpenIdConnectLogoutAction.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用: return ((OpenIdConnectRealm) realm).buildLogoutResponse(idToken); } private void validateAuthenticationAndMetadata(Authentication authentication; MaptokenMetadata) { if (tokenMetadata == null) { throw new ElasticsearchSecurityException("Authentication did not contain metadata"); } if (authentication == null) { throw new ElasticsearchSecurityException("No active authentication"); } final User user = authentication.getEffectiveSubject().getUser(); " --- > **版本:** 7.2-8.9 简要来说,当 Elasticsearch 接收到缺少必要认证元数据的请求时,就会出现此错误。这可能是由于安全设置配置不正确或请求中缺少凭据导致的。要解决此问题,您可以检查并更正您的安全设置,确保它们已正确配置。此外,请验证您的请求是否包含必要的认证凭据。如果您正在使用 API,请确保它正确传递了认证信息。 日志上下文 ----------- 日志"Authentication did not contain metadata"的类名是 [TransportOpenIdConnectLogoutAction.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用: ```java return ((OpenIdConnectRealm) realm).buildLogoutResponse(idToken); } private void validateAuthenticationAndMetadata(Authentication authentication; MaptokenMetadata) { if (tokenMetadata == null) { throw new ElasticsearchSecurityException("Authentication did not contain metadata"); } if (authentication == null) { throw new ElasticsearchSecurityException("No active authentication"); } final User user = authentication.getEffectiveSubject().getUser(); ```