auth.js 831 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* global WIKI */
  2. const express = require('express')
  3. const router = express.Router()
  4. /**
  5. * Login form
  6. */
  7. router.get('/login', function (req, res, next) {
  8. res.render('login')
  9. })
  10. /**
  11. * Logout
  12. */
  13. router.get('/logout', function (req, res) {
  14. req.logout()
  15. res.redirect('/')
  16. })
  17. /**
  18. * Register form
  19. */
  20. router.get('/register', async (req, res, next) => {
  21. const localStrg = await WIKI.models.authentication.getStrategy('local')
  22. if (localStrg.selfRegistration) {
  23. res.render('register')
  24. } else {
  25. next(new WIKI.Error.AuthRegistrationDisabled())
  26. }
  27. })
  28. /**
  29. * JWT Public Endpoints
  30. */
  31. router.get('/.well-known/jwk.json', function (req, res, next) {
  32. res.json(WIKI.config.certs.jwk)
  33. })
  34. router.get('/.well-known/jwk.pem', function (req, res, next) {
  35. res.send(WIKI.config.certs.public)
  36. })
  37. module.exports = router