gpt4 book ai didi

javascript - 我如何将 token 值存储到本地 javascript 文件中

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:55 24 4
gpt4 key购买 nike

嗨,我是 Nodejs 的初学者,我使用了基于 Passportjs token 的身份验证,如果用户登录,它会为每个用户提供一个 token ,我想为具有 token 值的用户执行一些操作,例如,如果用户想要查看注册用户的列表,如果他有 token 值,他们可以查看它。现在它在 Postman 中完美地为我提供了 token 值,但我不知道如何将其存储在变量中并通过前端调用它。我想通过前端执行此操作(如果他单击“获取用户”按钮),它应该显示用户列表。我已经在 POSTMAN 中完成了该操作,它工作得很好,我不知道如何通过前端执行此操作。我的用户代码(登录/注销)

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 方法中发送该 token ,有什么想法吗?

$(".get-users-button").click(function() {
$.ajax({
method: "GET",
url: " http://localhost:3000/users"
})
.done(function(msg) {
console.log(msg);
template(msg);
});
});

最佳答案

当您从 POST 向/login 端点返回成功响应时,请将 token 存储在客户端(例如 window.localStorage.setItem('<your-namespace>-user-token', <the token goes here>); )

然后,当用户单击“获取用户按钮”时,从存储中获取 token (例如 window.localStorage.getItem('<your-namespace>-user-token'); 并根据需要将其存储在变量中。

然后,根据您获取用户的请求,添加您的 { 'x-access-token': <token variable goes here> }到您的请求 header 。

关于javascript - 我如何将 token 值存储到本地 javascript 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44999742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com