Я сделал VerifyUserAccess
middleware
в loopback
как показано ниже:
module.exports = function(options) {
return function storeCurrentUser(req, res, next) {
if (!req.accessToken) {
return next();
}
app.models.UserModel.findById(req.accessToken.userId, function(err, user) {
if (err) {
return next(err);
}
if (!user) {
return next(new Error('No user with this access token was found.'));
}
const LoopBackContext = require('loopback-context');
const loopbackContext = LoopBackContext.getCurrentContext();
if (loopbackContext) {
loopbackContext.set('currentUser', user);
}
next();
});
};
};
А также я добавил его в middleware.json
, как показано ниже:
...
"initial": {
"./middleware/verify_user_access": {},
...
}
...
Но проблема в том, что всегда loopbackContext
Я получил null
.
И второй вопрос: как получить currentUser
, чтобы получить API
. Я сделал ниже:
Gameversionandtype.GetGameversionandtypeByGameTypeID = (ctx, callback) =>
{
const LoopBackContext = require('loopback-context');
const context = LoopBackContext.getCurrentContext();
const currentUserResult = context && context.get('currentUserResult');
console.log('currentUser.username: ', currentUserResult.id);
...
...
}
И, пожалуйста, дайте мне знать, как установить currentUser
результат и как его получить в API
. Я также сослался на документацию loopback-context
npm
модуль, но я не могу найти какие-либо решения. Заранее благодарю.