版本: 7.7-8.9
简而言之,当安全断言标记语言(SAML)认证请求缺少签发者时会出现此错误。签发者是生成SAML响应的实体的唯一标识符。没有它,Elasticsearch无法验证请求。要解决此问题,请确保SAML响应包含签发者。检查您的身份提供商(IdP)配置,确保它设置为在SAML响应中包含签发者。此外,验证您的Elasticsearch SAML设置是否正确配置以接受和验证签发者。
日志上下文 #
日志"SAML authentication request has no issuer"的类名是 SamlAuthnRequestValidator.java。 我们从Elasticsearch源代码中提取了以下内容,为那些寻求深入上下文的人提供参考:
});
} private void getSpFromAuthnRequest(Issuer issuer; String acs; ActionListenerlistener) {
if (issuer == null || issuer.getValue() == null) {
throw new ElasticsearchSecurityException("SAML authentication request has no issuer"; RestStatus.BAD_REQUEST);
}
final String issuerString = issuer.getValue();
idp.resolveServiceProvider(issuerString; acs; false; ActionListener.wrap(serviceProvider -> {
if (null == serviceProvider) {
throw new ElasticsearchSecurityException(





