diff options
| author | Adam Soltys <[email protected]> | 2024-08-26 21:17:43 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-08-26 21:17:43 -0700 |
| commit | fe62cadd6fb4a7e49f7d59401fc74ae0411e32a7 (patch) | |
| tree | aa8f34e1692bd2d638a2c996eeadb58671d07aea /lib/auth.js | |
| parent | 00e43ddc0bf3d6dd719fc9295d156567fa2fecfb (diff) | |
| download | coinos-server-fe62cadd6fb4a7e49f7d59401fc74ae0411e32a7.tar.gz coinos-server-fe62cadd6fb4a7e49f7d59401fc74ae0411e32a7.zip | |
typescript
Diffstat (limited to 'lib/auth.js')
| -rw-r--r-- | lib/auth.js | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/lib/auth.js b/lib/auth.js deleted file mode 100644 index 0a8d43d3..00000000 --- a/lib/auth.js +++ /dev/null @@ -1,51 +0,0 @@ -import fastifyPassport from "@fastify/passport"; -import { g } from "$lib/db"; -import { fail, getUser } from "$lib/utils"; -import config from "$config"; -import jwt from "passport-jwt"; - -export const admin = { - preValidation: fastifyPassport.authenticate( - "jwt", - { session: false }, - function (req, res, err, user, info) { - if (!user.admin) return res.code(401).send("unauthorized"); - req.user = user; - }, - ), -}; - -export const optional = { - preValidation: fastifyPassport.authenticate( - "jwt", - { session: false }, - function (req, res, err, user, info) { - req.user = user; - }, - ), -}; - -export const auth = { - preValidation: fastifyPassport.authenticate("jwt", { - authInfo: false, - session: false, - }), -}; - -export const requirePin = async ({ body, user }) => { - if (!user || (user.pin && user.pin !== body.pin)) fail("Invalid pin"); -}; - -export const jwtStrategy = new jwt.Strategy( - { - jwtFromRequest: jwt.ExtractJwt.fromExtractors([ - jwt.ExtractJwt.fromAuthHeaderAsBearerToken(), - (req) => (req.cookies ? req.cookies.token : null), - ]), - secretOrKey: config.jwt, - }, - async (payload, next) => { - let user = await getUser(payload.id); - next(null, user); - }, -); |
