我有两个 grails-app(appA和appB)正在通过 CAS 进行身份验证/授权,并且单点登录正常运行。
但是,现在我必须让appA成为appB的代理以进行身份验证(appB是一个网络服务,它会发回 JSON 数据)。两个应用程序都通过 https 与 CAS 以及彼此进行通信。
PGT 和 PGTIOU 是在 CAS 中生成的,并且在appB中可用。但是,appB在通过代码获取时不会向appA返回任何数据。所以我有一些问题:
- 单点登录是否应该在两个应用程序之间工作以使代理工作。
- 我是否应该通过进行 SecureController 和接收器操作来处理 appB 中的 /secure/receptor 请求。
- 在 appA 中,
proxyCallbackUrl='https://app2.webservice.com:8443/app2/secure/receptor'
并且proxyReceptorUrl = '/secure/receptor'
. 这个对吗? - 在appB中,
proxyReceptorUrl = '/secure/receptor'
没有proxyCallBackUrl
,这是正确的吗? - 我的grails版本是1.3.7,springSecurityCas是1.0.2,springSecurityCore是1.1.3,casServer版本=3.4.8
- 如果我们应该在从appB获取数据的同时将appA的proxyTicket作为查询字符串发送到 appB,我们应该如何在appA或appB中生成代理票证。
在过去的三周里,我一直在尝试解决这个问题,但失败了,所以非常感谢您的帮助。先感谢您。