您好初学者Nodejs我已经使用passportjs基于令牌的身份验证如果用户登录它为每个用户提供一个令牌我想执行一些操作基于令牌值,例如,如果用户希望看到注册用户列表,他们可以查看它,如果他有令牌值的话。现在它为Postman提供了完美的令牌值,但我不知道如何将它存储在变量中并通过FRONT-END调用它。我想通过前端做到这一点(如果他点击获取用户按钮)它应该显示用户列表。我已经在POSTMAN做到了这一点,它工作得很好,我不知道如何通过前端做到这一点。 我的用户密码(登录/注销)如何将令牌值存储到我的本地JavaScript文件
var express = require('express');
var router = express.Router();
var User = require('../models/user');
var passport = require('passport');
var Verify = require('./verify');
/* GET users listing. */
router.route('/')
.get(Verify.verifyOrdinaryUser, function(req, res, next) {
User.find({}, function (err, users) {
if (err) throw err;
res.json(users);
});
});
router.post('/register', function(req, res, next) {
User.register(new User({ username : req.body.username }),req.body.password, function(err, user) {
if (err) {
return res.status(500).json({err: err});
}
user.save(function(err,user) {
passport.authenticate('local')(req, res, function() {
return res.status(200).json({status: 'Registration Successful!'});
});
});
});
});
router.post('/login', function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err) {
return next(err);
}
if (!user) {
return res.status(401).json({
err: info
});
}
req.logIn(user, function(err) {
if (err) {
return res.status(500).json({
err: 'Could not log in user'
});
}
var token = Verify.getToken(user);
res.status(200).json({
status: 'Login successful!',
success: true,
token: token
});
});
})(req,res,next);
});
router.get('/logout', function(req, res) {
req.logout();
res.status(200).json({
status: 'Bye!'
});
});
module.exports = router;
Main.js文件。在这个main.js文件中,我想在这个get方法中发送该标记任何想法?
$(".get-users-button").click(function() {
$.ajax({
method: "GET",
url: " http://localhost:3000/users"
})
.done(function(msg) {
console.log(msg);
template(msg);
});
});
当您的用户登录时,只需在浏览器中将令牌作为cookie发送,每次您只需检索它即可。 –
@ArpitSolanki这是一个好主意bro和存储在localstorage中,但我想将它作为变量bro存储,所以有其他想法? – Kannan