Node.js - Express.js JWT gibt in der Browserantwort immer einen ungültigen Token-Fehler zurück

Ich benutze node.js und express.js mit demExpress-JWT Modul, und ich habe einen einfachen HTTP-Server eingerichtet, um alles zu testen:

Dies ist der betroffene Knotencode:

 app.set('port', process.env.PORT || 3000);
    app.use(express.methodOverride());
    app.use(allow_cross_domain);
    app.use('/api', expressJwt({secret: '09qrjjwef923jnrge$5ndjwk'}));
    app.use(express.json());
    app.use(express.urlencoded());
    app.use('/', express.static(__dirname + '/'));
    app.use(function(err, req, res, next){
      if (err.constructor.name === 'UnauthorizedError') {
        res.send(401, 'Unauthorized');
      }
    });

    app.get('login',function(req,res){

    //...
    jwt.sign(results.username+results.email, secret, { expiresInMinutes: 9000000000*9393939393393939393939 });
    });

    app.post('api/profile',function(req,res){
     console.log(req.user); // this return undefined in console
     res.send(req.user); // response is pending and dunno why it returns error in browser console
    });

Also öffne ich mal die/login URL Ich werde angemeldet und sende das Sitzungstoken anapi/post, der diesen Antwortfehler in der Browserkonsole zurückgibt:

{"error":{"message":"invalid signature","code":"invalid_token","status":401,"inner":{}}}

Ich verstehe nicht, warum dies geschieht, da das im Front-End gespeicherte Token und das Token in JWT identisch sind. Was könnte der Grund für diesen Fehler sein?

Ein Beispiel für ÜberschriftenPOSTauf dieapi/post URL:

Antworten auf die Frage(2)

Ihre Antwort auf die Frage