authkit-js
Version:
Express auth toolkit (JWT, Sessions with Redis, Google/GitHub OAuth) in JavaScript
20 lines (15 loc) • 739 B
JavaScript
function makeError(code, status, message) {
const err = new Error(message || code);
err.code = code;
err.status = status;
return err;
}
const Errors = {
UNAUTHORIZED: (msg = 'Unauthorized') => makeError('AUTH_UNAUTHORIZED', 401, msg),
FORBIDDEN: (msg = 'Forbidden') => makeError('AUTH_FORBIDDEN', 403, msg),
BAD_REQUEST: (msg = 'Bad Request') => makeError('AUTH_BAD_REQUEST', 400, msg),
TOKEN_INVALID: (msg = 'Invalid token') => makeError('AUTH_TOKEN_INVALID', 401, msg),
TOKEN_EXPIRED: (msg = 'Token expired') => makeError('AUTH_TOKEN_EXPIRED', 401, msg),
TOKEN_REUSE: (msg = 'Refresh token reuse detected') => makeError('AUTH_TOKEN_REUSE', 401, msg),
};
module.exports = { makeError, Errors };