问题是,一旦我登录到存在数据的外部服务器并获取我正在使用GET / POST请求的数据,但是团结会因为我们的游戏而导致游戏的Webplayer版本出现跨域策略错误托管在不同的域上,我们正在发布Post / get请求从外部服务器获取数据。 所以关键是,一旦外部服务器中的登录完成,它就会将我重定向到我的域页面,最后附上一张CAS票据,如下所示:
http://mydomain.com/webbuild.html?ticket=ST-260-NigEPjMAlD7GoeRsxAIO-xxx-cas
该服务器页面中包含以下代码:
<div class="content">
<div class="content-center float-left">
<form id="fm1" action="/cas/login;jsessionid=qjuydeza6epg18b644x1e25ly?service=https%3A%2F%2Fsb.xxx.com%2Fweb%2Fplayer_login%3FapiKey%3D285dcdb0-9e8b-4e17-8a2f-f72551a16f3d%26successUrl%3Dhttp%253A%252F%252Fmydomain.com%252Fwebbuild.html" method="post">
<div id="error-message" class="error display-none">
</div>
<h2>LOG IN</h2>
<div class="row">
<input id="username" name="username" class="required display-block" tabindex="1" placeholder="Email address" type="email" accesskey="u" value="" size="25" autocomplete="false"/>
</div>
<div class="row">
<input id="password" name="password" class="required display-block" tabindex="2" placeholder="Password" accesskey="p" type="password" value="" size="25" autocomplete="off"/>
</div>
<div class="row buttons">
<input type="hidden" name="lt" value="LT-1182-FT6sa9JS2ASrsjEpiEqV0eJ3Pr3fBI" />
<input type="hidden" name="execution" value="e1s1" />
<input type="hidden" name="_eventId" value="submit" />
<input class="submit-button" name="submit" accesskey="l" value="Log In" tabindex="4" type="submit" />
</div>
<div class="row links">
<a id="forgot_password_link" href="https://sb.xxx.com/web/users/forgotten_passwords/new" class="portal-link display-block">Forgot your password?</a>
<a id="create_account_link" href="https://sb.xxx.com/web/users/new" class="portal-link display-block">Join bspot!</a>
</div>
</form>
</div>
<div class="content-right content-border float-left"> </div>
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="/cas/js/cas.js"></script>
<script type="text/javascript" src="/cas/js/ga.js"></script>
<script type="text/javascript" src="/cas/js/urchin.js"></script>
<script type="text/javascript" src="/cas/js/call_urchin.js"></script>
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"applicationID":"2220950","applicationTime":36,"beacon":"beacon-2.newrelic.com","queueTime":0,"licenseKey":"099091ce43","transactionName":"blBbNkoFXBIDVRJdXFcaczFoS2UkIBsvenUWQ1AHT0tYEhIZAlFVWEBVFmdLRwhNVQdHf1ZSUAxuDVcWTFwVRA==","agent":"js-agent.newrelic.com\/nr-378.min.js","errorBeacon":"jserror.newrelic.com"}</script></body>
</html>
有没有办法从服务器读取CAS密钥?要么通过构建的webplayer版本(在他们无法访问的服务器中需要crossdomain.xml),要么从本机应用程序中说(pc,android,ios)构建。如果有一种方法,我应该使用它来重新定向该CAS票据。
我的域名页面中是否必须有一个html代码才能读取CAS票证?
谢谢。
答案 0 :(得分:0)
我很难准确理解你在做什么,但这里通常是如何与CAS进行互动:
因此,您的应用程序服务器应该能够转向并向CAS服务器发出请求,使用该票证获取用户信息。
由于这一切都是通过重定向或服务器发起的请求发生的,因此不应该存在不同的域名。
希望这有帮助。