0

我正在使用 Win 2012 并在其上安装了 ADFS 3.0。到目前为止,服务器配置为向单一依赖方(我的测试应用程序)生成 SAML 2.0 断言。

我在依赖方方面收到 Assertions is expired 错误,因此我使用 SAML Tracer 检查生成的断言,发现从 Win 2012 服务器本身生成的断言已从当前服务器时间过期 1 小时。

SAML 断言的部分: NotBefore="2016-05-05T12:19:15.789Z" NotOnOrAfter="2016-05-05T13:19:15.789Z"

那时我的服务器时间是系统时钟的下午 2.29。

知道是什么导致了这个时差以及如何解决它吗?

4

1 回答 1

1

这通常意味着您的应用服务器与 ADFS 服务器存在明显的时间偏差,并且您的应用的验证库不允许这样做。我认为 ADFS 中时间偏差的默认允许时间是 5 分钟,但我可能弄错了。

首先,尝试使时间同步。如果您从 NTP 服务器同步,这通常应该没问题。

您还可以尝试更改 ADFS 中的 SKEW 设置。不建议这样做,因为最好确保服务器时间同步。

Set-ADFSRelyingPartyTrust -NotBeforeSkew "5" -targetname "your app name"
于 2016-05-07T16:20:35.460 回答