如何通过Javascript获得JSON数据与cookie身份验证
How to get JSON data via Javascript with cookies authentication?
我正在用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或外部代理来解决这个问题。
相关文章:
- Sencha Touch和远程服务器上的身份验证
- Javascript清除缓存以清除基本身份验证凭据
- REST的面向公众的身份验证机制
- 当需要身份验证时,ui路由器不会重定向
- 使用Facebook登录,但仍然可以获得:“;此标识池不支持未经身份验证的访问“;
- AJAX HTTP基本身份验证解决方案
- 身份验证后获取Facebook图片
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- Twitter应用程序专用身份验证
- Passport.js成功的身份验证根本没有调用
- 是一个经过SSL处理的JSONAPI,它使用cookie进行身份验证,并且随机数通常是安全的
- 我可以删除 ASP.NET 身份验证 cookie (.ASPXAUTH)使用JavaScript
- 使用javascript创建一个asp.net身份验证cookie
- 如何使用AngularJS在浏览器cookie中存储身份验证承载令牌
- 使用您网站的摘要's用于CSRF的身份验证cookie
- 如何使用ASP.NET Web API+AngularJs基于cookie的身份验证来验证cookie
- AJAX请求-cookie身份验证
- 与API共享Cookie以验证用户身份的最佳方法
- PouchDB和Cookie身份验证与CouchDB实际上不登录用户
- 如何通过Javascript获得JSON数据与cookie身份验证