首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JsonWebTokenError:必须提供jwt

JsonWebTokenError:必须提供jwt
EN

Stack Overflow用户
提问于 2020-08-06 07:55:50
回答 1查看 1.3K关注 0票数 0

我正在使用jwt来确认一封电子邮件,我向用户发送了一封带有URL和令牌的电子邮件,这是接收用户的URL的一个示例:

http://localhost:3000/firstlogin?acces_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InJleWVzZUBncnVwb2ludmVyby5jb20iLCJpYXQiOjE1OTY2Njk4OTcsImV4cCI6MTU5Njc1NjI5N30.dt-qr8h40QfPMOq-DQDfQVHatrAqOubKdlUbV4-nsTw

我正在使用一个你可以看到的查询。

确认码是下一个:

代码语言:javascript
复制
const expressJwt = require('express-jwt')
const _ =require('lodash')
const { OAuth2Client } = require('google-auth-library')
const fetch = require('node-fetch')
const {validationResult} = require('express-validator')
const jwt = require('jsonwebtoken')
//Esto es para obtener el error de la  base de datos, se puede personalizar para hacerlo amigable.
const { errorHandler} =require('../helpers/dbErrorHandling')
//el siguiente const se usará para enviar correos
const sgMail = require('@sendgrid/mail')
sgMail.setApiKey(process.env.MAIL_KEY)

const pool = require('../database/connection')


class FirstloginController {


    async getToken(req, res, next) {
        const token = (req.params.token);
        const { access_token } = req.query;

        try {
            const decoded = jwt.verify(access_token, process.env.JWT_ACCOUNT_ACTIVATION)
            res.json({ message: "El acces token es valido", email: decoded})
       } catch (err) {
           next(err);
       }
    }

}


const firstloginController = new FirstloginController();
module.exports = firstloginController;

请求是一个get类型,它给我带来了下一个(在邮递员上):<pre>JsonWebTokenError: jwt must be provided<br> &nbsp; &nbsp;at Object.module.exports [as verify] (C:\xampp\htdocs\seth\api\node_modules\jsonwebtoken\verify.js:53:17)<br> &nbsp; &nbsp;at getToken (C:\xampp\htdocs\seth\api\src\controllers\Firstlogin.controller.js:24:33)<br> &nbsp; &nbsp;at Layer.handle [as handle_request] (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\layer.js:95:5)<br> &nbsp; &nbsp;at next (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\route.js:137:13)<br> &nbsp; &nbsp;at Route.dispatch (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\route.js:112:3)<br> &nbsp; &nbsp;at Layer.handle [as handle_request] (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\layer.js:95:5)<br> &nbsp; &nbsp;at C:\xampp\htdocs\seth\api\node_modules\express\lib\router\index.js:281:22<br> &nbsp; &nbsp;at Function.process_params (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\index.js:335:12)<br> &nbsp; &nbsp;at next (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\index.js:275:10)<br> &nbsp; &nbsp;at Function.handle (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\index.js:174:3)

我不知道这有什么意义;终端向我展示了下一个:

代码语言:javascript
复制
GET /firstlogin?acces_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InJleWVzZUBncnVwb2ludmVyby5jb20iLCJpYXQiOjE1OTY2Njk4OTcsImV4cCI6MTU5Njc1NjI5N30.dt-qr8h40QfPMOq-DQDfQVHatrAqOubKdlUbV4-nsTw 500 5.011 ms - 1275
JsonWebTokenError: jwt must be provided
    at Object.module.exports [as verify] (C:\xampp\htdocs\seth\api\node_modules\jsonwebtoken\verify.js:53:17)
    at getToken (C:\xampp\htdocs\seth\api\src\controllers\Firstlogin.controller.js:24:33)
    at Layer.handle [as handle_request] (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\route.js:137:13)
    at Route.dispatch (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\route.js:112:3)
    at Layer.handle [as handle_request] (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\layer.js:95:5)
    at C:\xampp\htdocs\seth\api\node_modules\express\lib\router\index.js:281:22
    at Function.process_params (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\index.js:335:12)
    at next (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\index.js:275:10)
    at Function.handle (C:\xampp\htdocs\seth\api\node_modules\express\lib\router\index.js:174:3)

这基本上就是我所知道的,这个过程是在一个不同的文档中发送邮件的过程

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-16 14:47:19

您写错了acces_token拼写

使用

const { acces_token }= req.query;

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63275030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档