2017-10-25 2 views
0

Ich brauche das Token in einem Modellen von Loopback 3, wie bekomme ich das Access-Token und Benutzer-ID in einem Remote-Modell oder andere Modelle?Loopback x3 erhalten AccessStandard in einem Remote-Modell

ich habe versucht.

Code:

module.exports = function(app) { 


const User = app.models.User; 
    User.userDemo= function (cb) { 
console.log(here access token); 
    User.find({ 
     fields:['username','email'] 
    },cb); 
    }; 
    User.remoteMethod(
    'userDemo', 
    { 
     http: {path:'/user-demo', verb: 'get'}, 
     returns: { arg: '', type:'array',root:true} 
    } 
); 
}; 

Antwort

1

Derzeit ist die suggested solution ist das options Argument zu impfen, wenn eine Methode über einen REST Aufruf aufgerufen wird. Das Argument options muss in Remotemetadaten mit einem bestimmten Wert versehen werden, der in der Eigenschaft http festgelegt ist.

user.userDemo = function (options, cb) { 
    // options object contains context information (accessToken, currentUser, ...) 
    console.log(options); 
    user.find({ 
     fields: ['username', 'email'] 
    }, cb); 
    }; 

    user.remoteMethod(
    'userDemo', 
    { 
     http: {path: '/user-demo', verb: 'get'}, 
     accepts: [ 
     {arg: 'options', type: 'object', http: 'optionsFromRequest'} 
     ], 
     returns: {root: true} 
    } 
); 

Weitere Information:

im Loopback 2.x sie strom Kontext APIs unter Verwendung des Moduls continuation-local-storage (oder höher cls-hooked) eingeführt. Es funktionierte für viele Leute, aber es hatte seine Probleme, die es zu einer unzuverlässigen Abhängigkeit machten. In Loopback 3.x entfernten sie sich von diesen APIs und boten eine Alternative in Form von options Objektweitergabe an (ein Teil davon ist, was Sie im obigen Beispielcode sehen). Sie können immer noch den alten Weg verwenden, indem Sie loopback-context Paket, aber es ist auf eigene Gefahr.

+0

schätzen Sie Ihre Antwort, aber was ich eigentlich will, dass auf jeden Treffer auf ich Benutzer-ID, so validiere ich Benutzer auf meinem manuell erstellten Berechtigungen Tabelle. – waris

+0

Ich bin mir nicht sicher, was du meinst. Sie können sowohl Zugriffstoken als auch Benutzer-ID von diesem 'options'-Objekt in Ihrer Remote-Methode abrufen. Gibt es einen anderen Ort/Moment, an dem du ihn abfangen möchtest? –

Verwandte Themen