fix: app context and routing
This commit is contained in:
parent
c00249586d
commit
9b5cf32314
8 changed files with 7 additions and 52 deletions
|
|
@ -13,9 +13,6 @@ const { ApolloServer, AuthenticationError } = require('apollo-server-express')
|
|||
const _ = require('lodash/fp')
|
||||
const pify = require('pify')
|
||||
|
||||
const login = require('./services/login')
|
||||
const register = require('./routes/authentication')
|
||||
|
||||
const options = require('../options')
|
||||
const users = require('../users')
|
||||
|
||||
|
|
|
|||
|
|
@ -1,42 +0,0 @@
|
|||
const express = require('express')
|
||||
const router = express.Router()
|
||||
|
||||
const login = require('../services/login')
|
||||
const options = require('../../options')
|
||||
const T = require('../../time')
|
||||
|
||||
const NEVER = new Date(Date.now() + 100 * T.years)
|
||||
const hostname = options.hostname
|
||||
|
||||
const register = (req, res, next) => {
|
||||
const otp = req.query.otp
|
||||
const ua = req.headers['user-agent']
|
||||
const ip = req.ip
|
||||
|
||||
if (!otp) return next()
|
||||
|
||||
return login.register(otp, ua, ip)
|
||||
.then(r => {
|
||||
if (r.expired) return res.status(401).send('OTP expired, generate new registration link')
|
||||
|
||||
// Maybe user is using old registration key, attempt to authenticate
|
||||
if (!r.success) return next()
|
||||
|
||||
const cookieOpts = {
|
||||
httpOnly: true,
|
||||
secure: true,
|
||||
domain: hostname,
|
||||
sameSite: true,
|
||||
expires: NEVER
|
||||
}
|
||||
|
||||
const token = r.token
|
||||
req.token = token
|
||||
res.cookie('token', token, cookieOpts)
|
||||
res.sendStatus(200)
|
||||
})
|
||||
}
|
||||
|
||||
router.get('/register', register)
|
||||
|
||||
module.exports = router
|
||||
Loading…
Add table
Add a link
Reference in a new issue