tokens: add ip restriction
This commit is contained in:
@@ -59,10 +59,13 @@ async function tokenAuth(req, res, next) {
|
||||
if (!token) return next(new HttpError(401, 'No such token'));
|
||||
|
||||
const user = await users.get(token.identifier);
|
||||
if (!user) return next(new HttpError(401,'User not found'));
|
||||
if (!user.active) return next(new HttpError(401,'User not active'));
|
||||
if (!user) return next(new HttpError(401, 'User not found'));
|
||||
if (!user.active) return next(new HttpError(401, 'User not active'));
|
||||
|
||||
await safe(tokens.update(token.id, { lastUsedTime: new Date() })); // ignore any error
|
||||
const remoteAddress = req.headers['x-forwarded-for'] || req.socket.remoteAddress;
|
||||
if (!tokens.isIpAllowedSync(token, remoteAddress)) return next(new HttpError(401, 'Token not allowed from this IP'));
|
||||
|
||||
await tokens.update(token.id, { lastUsedTime: new Date() });
|
||||
|
||||
req.token = token;
|
||||
req.user = user;
|
||||
|
||||
Reference in New Issue
Block a user