2016-08-04 16 views
0

おはようございます。私はまだループバックが新しく、何かが欠けている気がしますが、どこで何を見つけたらいいのかわからないので、アドバイスが役立ちます。ループバックのPOSTリクエストでエラー401が発生する

私はアプリを持っています。標準のACLでローカル認証を使用しています。

私は$ ownerに対してのみオープンするメソッドはほとんどなく、$ authenticatedでオープンするメソッドはほとんどありません。私はアプリ内でデータを取得するためのPOSTリクエストをほとんど使用していないし、401エラーが発生するたびに。 GETリクエストを使用している場合は、そのURLのようなURLにアクセストークンIDを含めるだけです。access_token = jjkdfsjjkj334

私は、POSTリクエストに対して何らかの類似のトリックがあると感じています。

ご協力いただければ幸いです。

答えて

1

ポストリクエストでは、それぞれのポストコールの「認証」ヘッダーとしてaccess_tokenを渡します。

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

console.log(responseJson); 

}); 

また、あなたがモデルには、次のACLでTestと呼ばれていた場合

+0

これを読んでもなお問題が残っている場合。私は、 'Authorization'ヘッダの代わりに' Authentication'ヘッダが送られたことが原因です。 'Authorization'ヘッダを使います。 –

1

受け入れ型などのように、また、他のヘッダを指定します。

{ 
    "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には何かが正しく設定されていないということです。

+0

[ここ](https://github.com/strongloop/loopback-example-access-control#create-acl-entries)の例もあります。 – richardpringle

関連する問題