我们使用CAS为许多Java和Ruby应用程序提供身份验证。我们的大多数Ruby应用程序都是带有Java的web应用程序,提供带有API的后端服务。我们通过使用代理授予票证对API的所有请求进行身份验证。当用户登录到web应用程序,请求代理授权票证并将其传递给后端API时,这一点非常有效。这里有一个很好的过程概述。
问题是当我们有一个守护进程或rake任务想要访问API时会发生什么?后台程序或rake任务可以通过登录票证和提供有效凭据对CAS服务器进行身份验证,但如果后台程序或rage任务没有监听CAS回调端口,则不可能生成代理授予票证。有人面临此问题吗?您是如何解决此问题的?也欢迎提出一般性建议。
我认为您可以使用CAS REST API来获得授予票证,然后使用服务票证将其传递给后端服务:https://wiki.jasig.org/display/CASUM/RESTful+API。顺致敬意,Jérôme