当请求来自另一个域时,如何在sails JS后端应用程序中保持身份验证状态?

时间:2014-12-19 20:00:25

标签: angularjs node.js authentication express sails.js

我有一个架构,我使用sailsJS(自定义node.js实现)作为我的api服务器和角度前端服务器。每个应用程序都来自不同的域。

如何在请求之间的sailsJS api app中维护经过身份验证的会话?

Sails有一个集成的req.session对象用于维护会话,但是当从另一个域提供客户端时,它似乎没有开箱即用。

1 个答案:

答案 0 :(得分:3)

在从前端应用程序到Sails应用程序执行跨源请求时,您需要检查两件事:

  1. 确保您的Sails应用has CORS enabled;这将确保浏览器不会出于安全原因阻止请求
  2. 确保在AJAX请求中设置了withCredentials标志;这将确保您的cookie被发送到Sails并保持您的会话。
  3. 使用Restangular,您可以使用withCredentialssetDefaultHttpFields设置为默认情况下用于所有请求;有关详细信息,请参阅this answer