Sails禁用GET中的REST标准

时间:2014-09-11 14:47:40

标签: rest sails.js

我实施了护照本地策略和护照持有人策略。

当用户使用用户名/密码凭据登录时,我会生成返回请求者的JSON Web令牌。在每个请求中,我从查询中获取access_token,将此令牌从JWT解码为对象,并在/api/policies中实现承载授权。所有auth工作正常。

但是当我将这个access_token提供给RESTful路由时,user我得到了空数组。

问题是,Sails接受access_token作为标准。

示例:

GET /user ## Forbidden GET /user?access_token=<token> ## Empty array

如何禁用或修复它?

1 个答案:

答案 0 :(得分:3)

您可能最好在标头中发送访问令牌而不是在URL中。但是,如果你要求的是如何将某个属性列入黑名单而不是在蓝图路线中用作标准,那么可以在 config / routes.js 文件中以下列方式完成:

"GET /user": {blueprint: "find", criteria: {blacklist: ["access_token"]}}

这将覆盖默认的黑名单,因此您可能希望在自定义数组中包含这些默认值:

"GET /user": {
  blueprint: "find", 
  criteria: {
      blacklist: ["access_token", "limit", "skip", "sort", "populate"]
  }
}