C# 一旦服务器重定向到我们的网页,获取CAS密钥

C# 一旦服务器重定向到我们的网页,获取CAS密钥,c#,unity3d,cas,C#,Unity3d,Cas,问题是,一旦我登录到存在数据的外部服务器并使用get/POST请求获取数据,unity就会为游戏的Webplayer版本抛出跨域策略错误,因为我们的游戏托管在不同的域上,并且我们正在使POST/get请求从外部服务器获取数据。 因此,关键是一旦在外部服务器中完成登录,它会将我重定向到我的域页面,并在最后附加CAS票证,如下所示: 该服务器页面中包含以下代码: <div class="content"> <div class="content-center float-

问题是,一旦我登录到存在数据的外部服务器并使用get/POST请求获取数据,unity就会为游戏的Webplayer版本抛出跨域策略错误,因为我们的游戏托管在不同的域上,并且我们正在使POST/get请求从外部服务器获取数据。 因此,关键是一旦在外部服务器中完成登录,它会将我重定向到我的域页面,并在最后附加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">&nbsp;</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版本的Build,需要在他们的服务器中使用crossdomain.xml,而我无法访问或访问该服务器,本地应用程序可以使用pc、android和ios版本。如果有一种方法,我应该使用哪个库在CAS票证重定向后读取它

我是否必须在我的域页面中有一个html代码,它在其中读取CAS票证


谢谢。

我很难准确理解您在做什么,但以下是与CAS的交互通常是如何发生的:

用户点击应用程序网页。 应用程序将用户重定向到CAS。 CAS使用标准cookie和会话确定用户是否已登录。 如果用户未登录,CAS将显示一个登录表单,供用户提供登录凭据。如果用户已经登录,CAS将跳到步骤7。 CA然后与身份验证数据交互,以验证提供的凭据是否有效。 如果是,则CAS将登录用户。 然后CAS将重定向回应用程序,并提供一个票证。 应用程序直接调用CAS以验证提供的票证。 如果票证有效,则CAS返回用户信息作为对请求的响应。 然后,应用程序为用户创建一个经过身份验证的会话,可能根据CAS提供的信息查找用户信息,并在适当的地方重定向这些信息。 因此,您的应用程序服务器应该能够掉头向CAS服务器发出请求,使用票证获取用户信息

由于这一切都是通过重定向或源于服务器的请求实现的,所以不同的域不应该成为问题

希望这有帮助