【问题标题】:Logout throw certificate invalid signature注销抛出证书无效签名
【发布时间】:2020-06-18 13:13:40
【问题描述】:

我看到有 3 种注销方法。它们的调用顺序如下。我需要了解注销和单次注销有何不同,因为注销的整个代码在 SingleLogout 中再次重复。 \

退出 单次登出 登出

问题是当我尝试注销时。首先它调用 Logout 方法,它执行成功。后来它调用 SingleLogout 方法,在该方法中它尝试验证证书并失败。 登录时,证书没有问题,不知道为什么退出时出现证书问题。

下面的第 61 行在登录时返回 true,在注销时返回 false。 文件:Saml2SignedXML。 方法:检查签名 第 61 行:返回 CheckSignature(Saml2Signer.Certificate, true);

另外还有一个问题,在Logout方法中,User.Identity.IsAuthenticated返回false,不知道是什么原因。

【问题讨论】:

    标签: saml-2.0 itfoxtec-identity-saml2


    【解决方案1】:

    注销端点是供它自己注销的应用程序(依赖方)使用的。注销使用注销请求调用 IdP。并期望在 LoggedOut 端点上返回注销响应。

    如果另一个依赖方启动注销序列,IdP 将使用 SingleLogout 端点。 IdP 使用注销请求调用您的应用程序,并期望得到注销响应。

    我希望它赋予意义。我不知道您的应用程序为何同时调用 Logout 和 SingleLogout 端点。

    【讨论】:

    • 我会试试的。我对此有一个后续问题。我在元数据控制器中看到我们有 SingleLogoutServices,然后在应用程序设置中有 SingleLogoutDestination。这两者有何不同?
    • 元数据 SingleLogoutService 包含应用程序上 SingleLogout 和 LoggedOut 端点的信息。 SingleLogoutDestination 是 SingleLogout 端点,可能在 IdP 上。 SAML 2.0 标准允许在一个端点或单独的端点中处理这两个函数,就像在示例中一样。 ITfoxtec Identity SAML2 包支持这两种情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    相关资源
    最近更新 更多