Loopback中的POST请求错误401

时间:2016-08-04 18:20:12

标签: authentication acl loopbackjs loopback

早上好,伙计们。我仍然是Loopback的新手,并且有一种感觉,我错过了什么,但不知道在哪里和找到什么,所以建议会有所帮助。

我有一个应用程序。我使用标准ACL进行本地身份验证。

我有几种只为$ owner打开的方法,而且只有少数可以为$ authentic打开的方法。我在应用程序中使用少量POST请求来检索数据,每次我收到401错误。如果使用GET请求,我所要做的就是在URL中包含访问令牌ID,如url?access_token = jjkdfsjjkj334。

我觉得POST请求有一些类似的技巧。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

对于post请求,将access_token作为" Authorization"在各自的帖子中都有标题。

request({url: url, json: true, headers: {'Authorization': 'access-token-value'}}, function (err, res, responseJson) {

console.log(responseJson);

});

您还可以指定其他标题,例如Accept-type等。

答案 1 :(得分:1)

如果您有一个名为Test的模型,其中包含以下ACL:

{
  "principalType": "ROLE",
  "principalId": "$everyone",
  "permission": "DENY"
},
{
  "principalType": "ROLE",
  "principalId": "$authenticated",
  "permission": "ALLOW",
  "property": "create"
}

您应该能够发出以下POST请求:

curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" -d "{}" "http://localhost:3000/api/Tests?access_token=cor7DDfUKoFSI6DzgCezQzoKFOuSmpLYzSF85xA8QXePkbFAGDKjjp7QwaVlP11B"

我总是喜欢使用组件资源管理器来测试哪些有效,哪些无效。我的猜测是你的ACL中没有正确设置。