authenzify
Version:
server to manage authentication authorization of users and more
24 lines (21 loc) • 662 B
JavaScript
import { initVerifyToken } from './util/verify-token.js'
export const getAuthenticatedInterceptor = ({
publicKey,
jwtOptions,
authorizationCookieKey,
}) => {
const { verifyToken } = initVerifyToken({ publicKey, jwtOptions })
return {
tryToExtractUserAuthenticated(request) {
const { [authorizationCookieKey]: Authorization } = request.cookies
if (!Authorization) {
throw new Error(`'${authorizationCookieKey}' is ${Authorization}`)
}
const userInfo = verifyToken(Authorization)
if (!userInfo) {
throw new Error(`User token '${Authorization}' not verified`)
}
return userInfo
},
}
}