我如何将CAS与一个Javascript客户端一起使用,该客户端将被托管并在Phonegap中使用?

我如何将CAS与一个Javascript客户端一起使用,该客户端将被托管并在Phonegap中使用?,javascript,cordova,cross-domain,single-sign-on,cas,Javascript,Cordova,Cross Domain,Single Sign On,Cas,我正在编写一个Phonegap应用程序,它需要能够调用由CAS保护的远程Web服务。该应用程序还将作为一个移动网站托管在我们的webfarm上(不包括硬件特定部分) 我们的CAS服务器由server1托管,我们的Web服务由server2托管。移动网站托管在server2上 我从Javascript发出的任何调用都会得到一个跨域错误。我意识到这不是手机的问题,但最好避免它,因为在桌面上运行时开发要容易得多 目前,我的工作设置包括以下内容: Javascript通过https调用server2上的

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

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

我从Javascript发出的任何调用都会得到一个跨域错误。我意识到这不是手机的问题,但最好避免它,因为在桌面上运行时开发要容易得多

目前,我的工作设置包括以下内容:

  • Javascript通过https调用server2上的服务器端脚本,包括标题中的用户名和密码
  • 该脚本调用CAS的RESTful api并获取一个票据授予cookie。该脚本在响应中创建一个Set Cookie头,或者返回一个登录错误
  • Javascript获取响应并创建cookie(尽管这个cookie在Phonegap中是不可检测的(document.cookie中没有),即使它正在被传递)
  • Javascript然后调用一个服务器端脚本,该脚本为它调用一个Web服务,并将cookie与请求一起传递(我必须手动将cookie插入请求头,即使它是在Javascript的请求中自动传递的)
  • 服务器端脚本将结果发送到javascript
  • 有更好的方法吗?我在CAS中看到过代理票证,但找不到足够的信息来知道它是我需要的还是如何使用它们

    多谢各位