📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 7.2-8.9

简而言之,当Elasticsearch在令牌元数据中收到无效或缺失的IdToken时,会出现此错误。这可能是由于配置不正确、令牌过期或身份验证服务出现问题导致的。要解决此问题,您可以尝试刷新或重新生成令牌,确保正确的配置设置已到位,或检查身份验证服务的状态和设置。如果问题仍然存在,您可能需要调试代码或配置以确定根本原因。

日志上下文 #

日志"Token Metadata did not contain a valid IdToken"的类名是 TransportOpenIdConnectLogoutAction.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考:

final Realm realm = this.realms.realm(authentication.getEffectiveSubject().getRealm().getName());
 final JWT idToken;
 try {
 idToken = JWTParser.parse(idTokenHint);
 } catch (ParseException e) {
 throw new ElasticsearchSecurityException("Token Metadata did not contain a valid IdToken"; e);
 }
 return ((OpenIdConnectRealm) realm).buildLogoutResponse(idToken);
 }  private void validateAuthenticationAndMetadata(Authentication authentication; MaptokenMetadata) {