如何通过Javascript获得JSON数据与cookie身份验证

How to get JSON data via Javascript with cookies authentication?

本文关键字:cookie 身份验证 数据 JSON 何通过 Javascript 获得      更新时间:2023-09-26

我正在用Ruby on Rails构建一个应用程序。该应用程序是一个Javascript应用程序,通过JSON调用从api应用程序获取数据。它还为应用程序本身和api提供跨域身份验证。

我通过使两个应用程序cookie具有相同的秘密会话密钥和相同的名称来处理跨域认证,例如_app_an_api_session

现在,我将把这个场景写下来,当它失败时,我会给你看。

应用域为domain.local api域为api.domain.local

假设api.domain.local/me是一个受保护的页面。当我打开它,我看到unauthenticated

当我转到应用程序和sign in,再转到api.domain.local/me,我可以看到其中的数据。[传递][它也适用于相反的动作]。

问题是,例如,在sign in之后我想在domain.local中加载api.domain.local/me内容[JSON数据],我可以在控制台中看到status(canceled)

另外为了调试。我试图看到env变量对api的每个请求。因此,当我直接访问api.domain.local/me时,我可以在控制台中看到cookie哈希值,否则如果通过实际应用程序,则根本没有cookie/会话。

那么,如何才能做到这一点呢?

您的问题是同源策略阻止不同域和子域之间的通信。您可以通过使用代理、JSON-P或外部代理来解决这个问题。