Я прочитал в Loopback3 docs, что getCurrentContext() устарел. То, что я хотел бы сделать, это захватить токен доступа и использовать его для поиска связанного пользователя в db, поэтому я могу получить company_id, к которому принадлежит пользователь, и изменить запрос, чтобы включить его в предложение where. Я использую MySQL и пользовательскую модель UserAccount, которая простирается от пользователя.Loopback3 - Найти текущего пользователя по токену доступа
Я новичок в Loopback, поэтому изо всех сил пытаюсь понять это, так как большая часть интерактивной справки, похоже, указывает на getCurrentContext() ;.
Я создал некоторое промежуточное программное обеспечение для запуска на этапе синтаксического анализа:
middleware.json
"parse": {
"./modifyrequest": {
"enabled": true
}
}
modifyrequest.js
var loopback = require('loopback');
module.exports = function(app) {
return function tracker(req, res, next) {
console.log('Middleware triggered on %s', req.url);
console.log('-------------------------------------------------------------------');
console.log(req.accessToken);
}
};
Однако req.accessToken всегда не определено. Я добавил к server.js:
app.use(loopback.token());
Любые идеи? Это неправильный подход?
РЕШЕНИЕ
Согласно комментарий Камала ниже ...
Try настройка "петлевой # лексемы": {} в middleware.json под "начальная: перед тем"
Это заполнит REQ .accessToken
благодарит за ответ, но как указано req.accessToken всегда не определено, поэтому нет свойства userId. Я предполагаю, что есть что-то особенное для того, чтобы accessToken существовал? У вас есть пример промежуточного программного обеспечения, которое работает с вашим примером? – TimL
Попробуйте установить '' '" loopback # token ": {}' '' в middleware.json под '' '" initial: before "' ''. – kamal0808
Спасибо, что сделал трюк! – TimL