こんにちは初心者からNodejsまでpassportjsトークンベースの認証を使用しました。ユーザーがログインするとトークンを提供します。たとえば、ユーザーが登録ユーザーのリストを表示する場合は、ユーザーがトークン値を持っている場合に表示できます。今それは私に郵便配達で完全にトークンの値を提供しますが、私は変数にそれを格納し、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メソッドで送信したいと思いますか?パスポートdocumentationあたりとして
$(".get-users-button").click(function() {
$.ajax({
method: "GET",
url: " http://localhost:3000/users"
})
.done(function(msg) {
console.log(msg);
template(msg);
});
});
ユーザーがログインしたときに、ブラウザでトークンを送信するだけで、毎回検索する必要があります。 –
@ArpitSolanki thats良いアイデアbroとlocalstorageにも格納するが、私は変数broとして他のアイデアを格納したいのですか? – Kannan