版本: 7.6-8.9
简要来说,当Elasticsearch在OAuth 2.0身份验证过程中无法交换授权码以获取ID令牌时,就会发生此错误。这可能是由于客户端凭据不正确、重定向URI无效或网络问题造成的。要解决此问题,请确保客户端ID和密钥正确,重定向URI与在OAuth 2.0提供者处注册的URI匹配,并且Elasticsearch服务器能够访问OAuth 2.0提供者的令牌端点。此外,请检查服务器日志以获取更详细的错误信息。
Log Context #
Log “Failed to exchange code for Id Token” class name is OpenIdConnectAuthenticator.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解的人参考:
tokenErrorResponse.getErrorObject().getCode();
tokenErrorResponse.getErrorObject().getDescription()
)
);
} else {
tokensListener.onFailure(new ElasticsearchSecurityException("Failed to exchange code for Id Token"));
}
} else {
final OIDCTokenResponse oidcTokenResponse = OIDCTokenResponse.parse(
JSONObjectUtils.parse(EntityUtils.toString(entity; encoding))
);





