当从 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 会话变量会丢失的主要内容,如果未能解决你的问题,请参考以下文章
基于MySql和Sails.js的RESTful风格的api实现
当从扩展符号访问对象时如何访问 Javascript 对象的嵌套按名称属性...?