早上好,伙计们。我仍然是Loopback的新手,并且有一种感觉,我错过了什么,但不知道在哪里和找到什么,所以建议会有所帮助。
我有一个应用程序。我使用标准ACL进行本地身份验证。
我有几种只为$ owner打开的方法,而且只有少数可以为$ authentic打开的方法。我在应用程序中使用少量POST请求来检索数据,每次我收到401错误。如果使用GET请求,我所要做的就是在URL中包含访问令牌ID,如url?access_token = jjkdfsjjkj334。
我觉得POST请求有一些类似的技巧。
任何帮助都将不胜感激。
答案 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中没有正确设置。