Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425
  1. 'use strict'
  2. const JWT = require('jsonwebtoken')
  3. module.exports = options => {
  4. return {
  5. key: options.jwtKey,
  6. verifyOptions: {
  7. algorithms: ['HS256'],
  8. },
  9. validate: (decoded, request, h) => {
  10. // QUESTION: How can we authenticate both Session and Access Tokens here?
  11. const token = request.headers.authorization
  12. try {
  13. const validatedJwt = JWT.verify(token, process.env.APP_SECRET)
  14. return {
  15. isValid: true,
  16. credentials: validatedJwt.email,
  17. }
  18. } catch (err) {
  19. console.error('ERROR :=>', err)
  20. return { isValid: false, error: err.message }
  21. }
  22. },
  23. }
  24. }