如何将CAS与托管以及Phonegap中使用的Javascript客户端一起使用?

时间:2012-10-17 12:36:52

标签: javascript cordova cross-domain single-sign-on cas

我正在编写一个Phonegap应用程序,该应用程序需要能够调用由CAS保护的远程Web服务。该应用程序还将作为移动网站托管在我们的webfarm上(减去硬件特定部分)。

我们的CAS服务器由server1托管,我们的Web服务托管在server2上。移动网站托管在server2上。

我从Javascript调用的任何调用都会出现跨域错误。我意识到这不是手机的问题,但是由于在桌面上运行时开发变得如此简单,因此避免它会很好。

目前,我有一个包含以下内容的工作设置:

  1. Javascript通过https调用server2上的服务器端脚本,包括标题中的用户名和密码。
  2. 该脚本调用CAS'RESTful api并获取授予cookie的票证。该脚本在响应中创建一个Set-Cookie标头,或者报告返回时出现登录错误。
  3. Javascript获取响应并创建cookie(虽然这个cookie在Phonegap中无法检测到(在document.cookie中没有任何内容),即使它已被传递了。)
  4. Javascript然后调用一个服务器端脚本,为它调用web服务,传递带有请求的cookie(我必须手动将cookie插入请求头,即使它自动在javascript的请求中传递)。
  5. 服务器端脚本将结果发送到javascript。
  6. 有更好的方法吗?我已经看到在CAS中提到代理票,但找不到足够的信息来知道它是我需要的还是如何使用它们。

    谢谢。

0 个答案:

没有答案