Mam aplikację, która jest węzłem + Express + paszport na serwerze i jQuery + Backbone.js na kliencie. Klient korzysta z tagów skrótu w adresie URL, ale dla niektórych funkcji ważne jest, aby użytkownik był zalogowany.Passport.js + Express.js przekazuje użytkownika do pierwotnego miejsca docelowego po uwierzytelnieniu
Chciałbym, aby aplikacja była dostępna za pośrednictwem adresu URL, np. http://mydomain.com/app#cone/waffle/flavor/mint/toppings/sprinkles
takie, że:
- jeśli użytkownik jest już zalogowany, idą do żądanego adresu URL bezpośrednio bez kłopotów
- jeśli użytkownik nie jest już zalogowany, idą do
/login
a następnie przejdź do żądanego adresu URL
po tym SO post, Custom returnUrl on Node.js Passport's Google strategy, mam go tak, że
- Jeśli są one rejestrowane w już idą d irectly URL, tagi cebulą i wszystko
- Jeśli nie były one rejestrowane, to bierze je do strony logowania, a następnie do żądanego adresu URL, ale ...
Wydaje się rozebrać hash parametry z oryginalnego adresu URL przekierowania po zalogowaniu.
Czy istnieje sposób na zachowanie parametrów skrótu podczas przekierowywania ich do pierwotnego miejsca docelowego?
Z tego posta, Getting hash parameters from request url, wynika, że znaczniki hash nie są dostępne na serwerze, co stanowi cały sens używania tagów hash.
Podejrzewam, że nie jest to możliwe. Może jakoś lokalnie buforujesz parametry i pobierasz je w przekierowaniu, powiedzmy do [original URL minus hastags] + #use-cached-params
?
Aha, to jest sztuczka, której szukałem. Dzięki! – prototype
Powinieneś oznaczyć to jako odpowiedzą, a następnie :) – hunterloftis