当从 android 访问 API 时,sails.js 会话变量会丢失

Posted

技术标签:

【中文标题】当从 android 访问 API 时,sails.js 会话变量会丢失【英文标题】:sails.js session variables getting lost when API is accessed from android 【发布时间】:2014-10-22 04:07:14 【问题描述】:

我为一个安卓应用程序创建了一个 REST API。我在某些点设置了某些 req.session 变量,并在策略中将它们用于进一步的步骤。当我从 POSTMAN 等 REST 客户端访问 API 时,一切正常。

但是,当从原生 android 应用程序访问它时,我在一个步骤中设置的 req.session 值在下一步中会丢失。

知道为什么会发生这种情况以及可能的解决方法吗?

【问题讨论】:

【参考方案1】:

会话不适用于从不受信任的客户端(在本例中为 Android 设备)发送的请求。

您应该考虑使用 OAuth 策略来实现您的目标。有点复杂。

或者只是为每次成功登录生成一个 accessToken 然后将其返回给客户端。对于进一步的请求,客户端必须附加这个 accessToken(通常是请求的头部)。

对于同一问题,这是一个很好的 SO 问题:How to implement a secure REST API with node.js

【讨论】:

以上是关于当从 android 访问 API 时,sails.js 会话变量会丢失的主要内容,如果未能解决你的问题,请参考以下文章

如何在sails.js 中创建动态策略

基于MySql和Sails.js的RESTful风格的api实现

如何在 Sails.js 中为自定义路由启用 CORS

当从扩展符号访问对象时如何访问 Javascript 对象的嵌套按名称属性...?

使用 passport.js、sails.js API 和 ember.js 登录 Facebook

Sails mongo 重新连接