2016-08-04 9 views
0

Guten Morgen, Leute. Ich bin noch neu in Loopback und habe das Gefühl, dass ich etwas verpasse, aber nicht sicher bin, wo und was zu finden ist, daher wäre ein Rat hilfreich.Fehler 401 auf POST-Anfrage in Loopback

Ich habe eine App. Ich verwende lokale Authentifizierung mit Standard-ACL.

Ich habe einige Methoden, die nur für $ Besitzer öffnen, und wenige, die für $ authentifiziert öffnen. Ich verwende einige POST-Anfragen innerhalb der App, um Daten abzurufen, und jedes Mal, wenn ich 401 Fehler erhalte. Wenn ich eine GET-Anfrage verwende, muss ich lediglich eine Zugriffstoken-ID in die URL einfügen, wie diese URL? Access_token = jjkdfsjjkj334.

Ich habe das Gefühl, dass es einen ähnlichen Trick für POST-Anfragen gibt.

Jede Hilfe wäre willkommen.

Antwort

1

Für die Post-Anfrage übergeben Sie das access_token als "Authorization" -Kopfzeile im jeweiligen Post-Aufruf.

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

console.log(responseJson); 

}); 

Sie geben auch andere Header auch, wie Accept-Typ usw.

+0

Wenn Sie dies lesen und immer noch das Problem haben. Meine Ursache wurde durch die Tatsache verursacht, dass ein 'Authentication'-Header anstelle des' Authorization'-Headers gesendet wurde. Verwenden Sie den Header "Authorization". –

1

Wenn Sie hatte ein Modell Test mit der folgenden ACL genannt:

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

Sie sollten die in der Lage zu machen folgende POST-Anfrage:

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

Ich benutze immer gerne den Component Explorer um zu testen, was funktioniert und was nicht. Meine Vermutung ist, dass etwas in Ihrer ACL nicht richtig eingerichtet ist.

+0

Es gibt auch ein Beispiel [hier] (https://github.com/strongloop/loopback-example-access-control#create-acl-entries) – richardpringle