0
Ich implementiere Logout-Funktion. Ich benutze diese Technologien zum ersten Mal, also kann mir bitte helfen. Verwendung: AngularJS Node.js RedisWie kann ich meine App mit REDIS + Node.js abmelden
AngularJS Code
<md-button md-no-ink class="md-primary" ng-click="logoutCall()">logout</md-button>
Controller.js
$scope.logoutCall = function(){
var req = $http.get("api/logout");
console.log(" in side logout call function!");
// some fun stuff ....
}
Redis Code
router.route("/logout")
.get(
function(req, res){
verifyAuth(req, res, function(err, authorized){
if(err){
res.json(err);
return;
};
// ---- fun stuff conti. -----
console.log("regis api/logout");
});
});
Funktion verifyAuth()
//verify authorization
var verifyAuth = function(req, res, callBack){
if(req.headers && req.headers.hasOwnProperty("x-auth-token")){
// get the redis client and try to get the corresponding object using the auth_token as a key
var redisClient = redis.getClient();
redisClient.get('auth_token.' + req.headers["x-auth-token"], function(err, reply){
if(err || !reply){
callBack({error:"Unauthorized: Please sign in"});
return;
}
// refresh the session expire to 20 mins
redisClient.expire('auth_token.' + req.headers["x-auth-token"], 1200);
req.user = JSON.parse(reply);
callBack(null, true);
});
}else{
callBack({error:"Missing Authentication: Please sign in"});
return;
}
};
gut, können Sie ein Token einen Laden in redis unter einer einzigartigen-Taste (User-ID) und beim Abmelden generieren, können Sie den Schlüssel aus dem redis löschen. – Nivesh
danke @Nivesh für schnelle Antwort, aber können Sie etwas Code teilen .. ?? –