| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
							- /* global WIKI */
 
- const express = require('express')
 
- const router = express.Router()
 
- const moment = require('moment')
 
- const _ = require('lodash')
 
- /**
 
-  * Login form
 
-  */
 
- router.get('/login', function (req, res, next) {
 
-   _.set(res.locals, 'pageMeta.title', 'Login')
 
-   res.render('login')
 
- })
 
- /**
 
-  * Logout
 
-  */
 
- router.get('/logout', function (req, res) {
 
-   req.logout()
 
-   res.redirect('/')
 
- })
 
- /**
 
-  * Register form
 
-  */
 
- router.get('/register', async (req, res, next) => {
 
-   _.set(res.locals, 'pageMeta.title', 'Register')
 
-   const localStrg = await WIKI.models.authentication.getStrategy('local')
 
-   if (localStrg.selfRegistration) {
 
-     res.render('register')
 
-   } else {
 
-     next(new WIKI.Error.AuthRegistrationDisabled())
 
-   }
 
- })
 
- /**
 
-  * Verify
 
-  */
 
- router.get('/verify/:token', async (req, res, next) => {
 
-   const usr = await WIKI.models.userKeys.validateToken({ kind: 'verify', token: req.params.token })
 
-   await WIKI.models.users.query().patch({ isVerified: true }).where('id', usr.id)
 
-   const result = await WIKI.models.users.refreshToken(usr)
 
-   res.cookie('jwt', result.token, { expires: moment().add(1, 'years').toDate() })
 
-   res.redirect('/')
 
- })
 
- /**
 
-  * JWT Public Endpoints
 
-  */
 
- router.get('/.well-known/jwk.json', function (req, res, next) {
 
-   res.json(WIKI.config.certs.jwk)
 
- })
 
- router.get('/.well-known/jwk.pem', function (req, res, next) {
 
-   res.send(WIKI.config.certs.public)
 
- })
 
- module.exports = router
 
 
  |