UNPKG

@r1tsu/payload

Version:

28 lines (27 loc) 941 B
import jwt from 'jsonwebtoken'; import { extractJWT } from '../extractJWT.js'; export const JWTAuthentication = async ({ headers, isGraphQL = false, payload })=>{ try { const token = extractJWT({ headers, payload }); const decodedPayload = jwt.verify(token, payload.secret); const collection = payload.collections[decodedPayload.collection]; const user = await payload.findByID({ id: decodedPayload.id, collection: decodedPayload.collection, depth: isGraphQL ? 0 : collection.config.auth.depth }); if (user && (!collection.config.auth.verify || user._verified)) { user.collection = collection.config.slug; user._strategy = 'local-jwt'; return user; } else { return null; } } catch (error) { return null; } }; //# sourceMappingURL=jwt.js.map