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

版本: 7.2-8.9

简而言之,当 Elasticsearch 无法定位到具有指定发行者(issuer)的 OpenID Connect 域时,就会出现这个错误。这可能是由于配置设置不正确或域未正确设置导致的。要解决这个问题,您可以验证 Elasticsearch 中的 OpenID Connect 域配置,确保发行者被正确指定。此外,检查域是否已正确设置并处于活动状态。如果没有,您可能需要创建或重新激活它。最后,确保在进行任何配置更改后重启了 Elasticsearch 集群。

日志上下文 #

日志 “Cannot find OpenID Connect realm with issuer [{}]” 的类名是 TransportOpenIdConnectPrepareAuthenticationAction.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些需要深入了解上下文的人使用:

.filter(r -> r instanceof OpenIdConnectRealm && ((OpenIdConnectRealm) r).isIssuerValid(request.getIssuer()))
 .map(r -> (OpenIdConnectRealm) r)
 .toList();
 if (matchingRealms.isEmpty()) {
 listener.onFailure(
 new ElasticsearchSecurityException("Cannot find OpenID Connect realm with issuer [{}]"; request.getIssuer())
 );
 return;
 } else if (matchingRealms.size() > 1) {
 listener.onFailure(
 new ElasticsearchSecurityException("Found multiple OpenID Connect realm with issuer [{}]"; request.getIssuer())