Ich verwende die Route, um zu überprüfen, ob ein Token gültig ist oder nicht. Wenn nicht, leite ich den Benutzer zur Anmeldeseite weiter. Ich möchte die Benutzer wissen lassen, dass sie entweder als Alarm oder über die Seite ausgeloggt sind.Kann ich den Benutzer vor der Route/Middleware warnen?
Was passiert, ist ein Benutzer klickt auf Link A (sie auf eine andere Seite auf der Website zu nehmen), die Route ruft eine validate.js
Datei:
route.js
var checkToken = require('../validate.js');
router.use(checkToken.checkToken);
Das ruft dann die validate.js-Datei auf, die einen HTTP-Aufruf vornimmt, um zu prüfen, wenn das Token gültig ist, wenn es nicht ist, leitet es den Benutzer um zur Login- Seite:
validate.js
var checkToken = function(req, res, next) {
if (config.enableTokenValidation) {
var usersToken = req.user.token;
validateToken(receivedToken, req.requestId, function(err, response, body) {
if (err || response.statusCode != 200) {
console.log("Error, token is not valid");
res.redirect("/auth/logout/");
} else {
return next();
}
});
Wie kann ich eine Nachricht an die loginView.js
Datei senden, so dass ich den Fehler im Frontend angezeigt werden kann (oder eine E-Mail Benachrichtigung) Da dies jedoch in der Middleware geschieht und es andere Routen zu anderen Seiten innerhalb des Programms gibt, die die Validierungsprüfung auslösen, führt die Anmeldeseite keine Überprüfung durch, und daher kann ich die Antwort dort nicht erhalten, um den Benutzer zu warnen.
Wenn es irgendeinen Weg gibt, dies auf die Art und Weise zu erreichen, wie ich es mache, oder gibt es andere Möglichkeiten, wie ich das angehen kann?
Vielen Dank