salix/loopback/server/middleware/current-user.js

24 lines
675 B
JavaScript
Raw Normal View History

const {models} = require('vn-loopback/server/server');
2017-10-13 14:22:45 +00:00
module.exports = function(options) {
return async function(req, res, next) {
if (!req.accessToken) {
const token = req.headers.authorization;
if (!token) return next();
const accessToken = await models.AccessToken.findById(token);
if (!accessToken) return next();
2017-10-13 14:22:45 +00:00
return next();
}
2017-10-13 14:22:45 +00:00
let LoopBackContext = require('loopback-context');
let loopbackContext = LoopBackContext.getCurrentContext();
if (loopbackContext)
2017-10-13 14:22:45 +00:00
loopbackContext.set('currentUser', req.accessToken.userId);
2017-10-13 14:22:45 +00:00
next();
};
};