Sails JS – 删除现有的JWT

我跟着这个教程https://ericswann.wordpress.com/2015/04/24/nozus-js-1-intro-to-sails-with-passport-and-jwt-json-web-token-auth/和我它工作得很好。 唯一遗漏的是注销function。 我读过,我可以从客户端删除令牌,但我认为这也是一个更好的办法也将其从服务器中删除。

这是我的AuthController.js

var passport = require('passport'); //Triggers when user authenticates via passport function _onPassportAuth(req, res, error, user, info) { if (error) return res.serverError(error); if (!user) return res.unauthorized(null, info && info.code, info && info.message); return res.ok({ // TODO: replace with new type of cipher service token: HashService.createToken(user), user: user }); } module.exports = { signup: function (req, res) { User.create(_.omit(req.allParams(), 'id')).then(function (user) { return { // TODO: replace with new type of cipher service token: HashService.createToken(user), user: user }; }).then(res.created).catch(res.serverError); }, signin: function (req, res) { passport.authenticate('local', _onPassportAuth.bind(this, req, res))(req, res); } }; 

我怎样才能销毁一个令牌?

你不需要破坏令牌。

这是令牌的概念 – 没有signin \注册function,只是可以validation(或不)的令牌。

如果你想“注销”用户,只需从客户端的存储中删除令牌。 无论如何,令牌将是有效的,直到您更改密钥或证书,或者到期。

UPD:

但我仍然认为这将是一个更好的办法也将其从服务器中删除。

服务器不存储。