diff --git a/app/auth/validate.js b/app/auth/validate.js new file mode 100644 index 0000000..a89755e --- /dev/null +++ b/app/auth/validate.js @@ -0,0 +1,14 @@ +import jwt from 'jsonwebtoken' + +const JWT_SECRET = 'put-your-JWT-secret-here'; // you can set this w/ an environment variable + +export const authValidate = function(req) { + try { + return jwt.verify(req.cookies.ds, JWT_SECRET) + } catch (error) { + return { + unauthorized: true, + message: 'Unauthorized', + } + } +} diff --git a/app/server.js b/app/server.js index 47e405c..c3b731b 100644 --- a/app/server.js +++ b/app/server.js @@ -3,10 +3,10 @@ import express from 'express'; import bodyParser from 'body-parser'; import cookieParser from 'cookie-parser'; import { authSetup } from './auth/setup'; +import { authValidate } from './auth/validate'; import sapper from 'sapper'; import compression from 'compression'; import { Store } from 'svelte/store.js'; -// import { validate } from '../routes/_services/auth-check.js'; import { manifest } from './manifest/server.js'; const { PORT, NODE_ENV } = process.env; @@ -25,9 +25,8 @@ authSetup(app) app.use(sapper({ manifest, store: req => { - // const user = validate(req); - // return new Store({ user: user.unauthorized ? null : user }); - return new Store({ user: null }); + const user = authValidate(req); + return new Store({ user: user.unauthorized ? null : user }); }, })) diff --git a/routes/login.html b/routes/login.html index e3d5de4..6abb4ca 100644 --- a/routes/login.html +++ b/routes/login.html @@ -3,3 +3,57 @@