Wie leite ich vom Express in den React-Router um?
Ich füge meiner App eine Authentifizierung hinzu, die den React-Router verwendet. Ich habe das Client-Routing nach dem @ gemuster auth-flow Beispiel in React-Router, aber mit Passport anstelle des lokalen Speichers, den das Beispiel verwendet. das alles funktioniert gut.
Der nächste Schritt ist das Schützen von Routen, die ich für Express in @ definierserver.js
. Ich könnte eine Weiterleitung an @ send/#/login
, aber das fühlt sich spröde an. Was ist der beste Weg, um eine URL abzuleitenauf der Serverseite zu einer Login-Route, die vom React-Router bedient wird?
Hier ist was ich jetzt in meinem @ haserver.js
, das funktioniert, fühlt sich aber spröde an:
app.get('/protected',
// redirecting to #/login seems bad: what if we change hashhistory, etc.
passport.authenticate('local', { failureRedirect: '/#/login'}),
function(req, res) {
res.render('whatever');
});