我在我的一个应用程序中使用 CAS 身份验证。 CAS 版本 jar 是 - cas-client-core-3.1.10.jar。当使用我的正确凭据时,它给了我以下异常 -
org.jasig.cas.client.validation.TicketValidationException: No valid assertions from the SAML response found.
org.jasig.cas.client.validation.TicketValidationException: No valid assertions from the SAML response found.
at org.jasig.cas.client.validation.Saml11TicketValidator.parseResponseFromServer(Saml11TicketValidator.java:97)
at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:188)
想知道这个异常的原因是什么?在检查 Saml11TicketValidator.java 的来源时,我没有看到此错误消息出现的确切场景。 知道这条消息表示什么吗?
最佳答案
我找到了这个问题的解决方案。实际的问题在于我系统的时钟速度。我系统的当前时间戳不在 CAS 的 BEFORE 和 AFTER 时间戳之间。可配置参数的值“公差”(由 CAS 提供)也没有帮助。因此,我将公差参数配置为一个巨大的长值(即 75000)。这样我就能够绕过 CAS 抛出的 TicketValidationException。
关于java - CAS 身份验证 SAML 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682440/