0
ちょっとした問題があります。私は次のルートでトークンをチェックするためのミドルウェアを持っており、ログに記録されたユーザをチェックするためにisLoggedIn
の機能を使用しています。しかし、ローカルストレージ内のトークンを変更した場合、トークンはまだ存在していても無効なので、まだログに記録されます。トークンが有効か無効かをミドルウェアからどのように返答できますか?次にこれを角度でチェックしますか?質問:そのトークンが有効であるか、角度が不正であることを確認するにはどうすればよいですか例えばに角度のフロントエンドで関数を作成jwtを使ってトークンが有効か無効かを確認してください
ミドルウェア
router.use(function(req, res, next){
var token = req.body.token || req.body.query || req.headers['x-access-token']
if(token){
jwt.verify(token, secret, function(err,decoded){
if(err){
res.json({success:false, message:'Invalid token'})
} else {
req.decoded = decoded;
next()
}
})
} else {
res.json({ success: false, message:'No token provided' });
}
});
工場
.factory('AuthToken', function($window){
var authTokenFactory = {};
authTokenFactory.setToken = function(token){
if(token){
$window.localStorage.setItem('token',token)
} else {
$window.localStorage.removeItem('token')
}
};
authTokenFactory.getToken = function(){
return $window.localStorage.getItem('token')
}
return authTokenFactory
})
isLoogedIn機能
authFactory.isLoggedIn = function(){
if(AuthToken.getToken()){
return true
} else {
return false
}
}
return authFactory