未授权使用CAS的应用程序尝试进​​行身份验证的应用程序未授权使用CAS

时间:2019-04-16 12:41:18

标签: cas

我们正在使用通过CAS服务器(部署在tomcat上)设置的单点登录解决方案。 几天前,登录名一直处于无缝状态,突然间,“

问题 未授权使用CAS的应用程序 您尝试验证的应用程序无权使用CAS

用户登录后,该用户已在后端成功认证(在日志中我们可以看到其已认证),但是登录后,该用户将重定向到/ oidc / token,然后重定向到/ profile。现在,它无法通过/ profile重定向。

我尝试过的事情 我们尝试检查catalina.log,并显示已成功通过身份验证。我们已经检查了/ etc / cas / config中的regexregisteredservice.json文件,没有任何更改。

在UAT环境中也是如此。

假设 几天前,我们已经在网站上更新了SSL证书。它会影响CAS服务吗?

这是regexregisteredservice.json文件示例

{   @class:org.apereo.cas.services.RegexRegisteredService   serviceId:https://host:port/oauth2.0/callbackAuthorize。*   名称:RegexRegisteredService   id:2588160372902752768   描述:OAuth身份验证回调请求URL   proxyPolicy:   {

预期结果:

登录后,用户将重定向到/ oidc / token,然后重定向到/ profile

它在UAT中工作正常,但在生产中存在问题(群集版本,已部署在tomcat上)

1 个答案:

答案 0 :(得分:0)

我自己解决了此问题,问题在于serviceId在CAS数据库的客户表中映射不正确。

花了两周的时间来了解完整的CAS系统并解决问题。但是遇到相同问题的人可以直接执行以下步骤 (假设CAS 5.1版本部署在tomcat + linux上)

  • 检查放在/ etc / cas / services下的.json文件
  • 检查您的.jwks文件在/ etc / cas / jwks文件夹下的位置
  • 检查.json,.jwks和CAS数据库-客户端表中的clientId和ClientSecret匹配项
  • 检查映射到.json,.jwks和CAS数据库,客户端表中的serviceID

祝一切顺利。