Spring SAML Single Logout - NameID格式不匹配

时间:2016-12-19 21:21:44

标签: spring spring-saml

这与Spring Security SAML One Login Global Single Logout LogoutRequest Parsing Issue

有关

这里的问题是NameID格式不匹配,如:

private boolean equalsNameID(NameID a, NameID b) {
    boolean equals = !differ(a.getSPProvidedID(), b.getSPProvidedID());
    equals = equals && !differ(a.getValue(), b.getValue());
    equals = equals && !differ(a.getFormat(), b.getFormat());
    equals = equals && !differ(a.getNameQualifier(), b.getNameQualifier());
    equals = equals && !differ(a.getSPNameQualifier(), b.getSPNameQualifier());
    equals = equals && !differ(a.getSPProvidedID(), b.getSPProvidedID());
    return equals;
}

它仅在以下情况下失败:

equals = equals && !differ(a.getFormat(), b.getFormat());

调试后,我发现了以下值:

a.getFormat() = urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified (from Spring SAML)
b.getFormat() = null (from OneLogin acting as the IdP)

是否可以通过扩展元数据属性(或以其他方式)关闭Spring SAML中的格式检查?

0 个答案:

没有答案