【问题标题】:The SAML assertion with ID [the id] is being replayed正在重播 ID 为 [id] 的 SAML 断言
【发布时间】:2019-09-25 14:54:58
【问题描述】:

我正在使用 ComponentSpace 为我的 .net 核心应用程序设置 SAML。使用的 IDP 是 OneLogin,Service Provider 是建立在他们的示例之上的。

在本地一切都很好。我们今天部署,每次尝试连接时都会收到错误

"The SAML assertion with ID [the id] is being replayed". 

提到我们部署应用程序的服务器在澳大利亚。

如果我们只是尝试连接,我不明白为什么会重播。在每个错误上,我们都会看到不同的 id。

我尝试将 AssertionLifetime 设置为 24 小时

"AssertionLifeTime": "24:04:04"

但这并没有什么不同。

【问题讨论】:

    标签: .net asp.net-core deployment saml


    【解决方案1】:

    我们保留了以前 SAML 断言 ID 的缓存,以便检测可能的重放攻击。每个 SAML 断言都有一个唯一的 ID,因此您永远不会再看到相同的 ID。每次我们收到一个断言,我们都会根据这个缓存检查它。如果 ID 在缓存中,我们会抛出此异常。在正常情况下,您应该不会看到此类错误。

    服务器的位置和断言生命周期都不应该有任何影响。有单独的检查以确保断言没有过期,但所有时间都是 UTC,只要服务器时钟合理同步,就不会有任何问题。如果有,您会看到不同的异常消息。

    你看到他的错误很奇怪,更奇怪的是它只是在部署后才开始。 SAML 响应由 IdP 在 HTTP Post 中发送。是否有某种网络基础设施或配置导致这些消息重复?跟踪您的应用程序接收到的网络流量将有助于确定原因。

    【讨论】:

    • 我启用了 serilog 并将日志文件发送给你们。我希望我们可以从那里解决这个问题。
    • 谢谢。我们已回复您的电子邮件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多