24 lines
675 B
JavaScript
24 lines
675 B
JavaScript
const {models} = require('vn-loopback/server/server');
|
|
|
|
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();
|
|
|
|
return next();
|
|
}
|
|
|
|
let LoopBackContext = require('loopback-context');
|
|
let loopbackContext = LoopBackContext.getCurrentContext();
|
|
|
|
if (loopbackContext)
|
|
loopbackContext.set('currentUser', req.accessToken.userId);
|
|
|
|
next();
|
|
};
|
|
};
|