java - CAS 身份验证 SAML 错误

标签 java cas

我在我的一个应用程序中使用 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/

相关文章:

使用 JPA 循环遍历大型表时出现 java.lang.OutOfMemoryError

java - 从方法返回数组

java - 在android中加载文件

node.js - 如何在 angular2 webpack starter typescript 中使用 CAS 身份验证?

single-sign-on - 是否可以使用 CAS 服务器对 Atlassian Crowd 用户进行身份验证?

Java检查Windows上是否安装了程序

Java RMI : Determining Caller process from Callee

java - 使用 JAVA 和 CAS 进行游戏授权的更好方法是什么

java - Apereo CAS 5.3.x : how to get logged user, 来自 CAS 服务器,在 java cas 客户端登录后

ssl - 在 Jelastic 下修改受信任的 CA