Aktywne Wpisy

wykop +33
Zmiany w lewym menu!
Od dziś znajdziecie tam sekcję z obserwowanymi tagami. Dzięki niej szybciej dotrzecie do treści, które naprawdę Was interesują - bez klikania w dodatkowe zakładki.
To zmiana przygotowana w odpowiedzi na Wasze prośby. Niby drobna, a sprawia, że korzystanie z Wykopu staje się wygodniejsze i bardziej dopasowane do Waszych potrzeb!
Sprawdźcie
Od dziś znajdziecie tam sekcję z obserwowanymi tagami. Dzięki niej szybciej dotrzecie do treści, które naprawdę Was interesują - bez klikania w dodatkowe zakładki.
To zmiana przygotowana w odpowiedzi na Wasze prośby. Niby drobna, a sprawia, że korzystanie z Wykopu staje się wygodniejsze i bardziej dopasowane do Waszych potrzeb!
Sprawdźcie
źródło: wykop
Pobierz
blinkarA +10
Chłopak z tindera po pierwszej randce zaprasza mnie na wspólny wyjazd do Chorwacji na jego koszt.
Chłopak bardzo ułożony, adwokat, ale dla mnie wieje desperacją. Kto normalny chce wydać parę tysi na randomową dziewczynę, którą dopiero co poznał?
#tinder #randkujzwykopem
Chłopak bardzo ułożony, adwokat, ale dla mnie wieje desperacją. Kto normalny chce wydać parę tysi na randomową dziewczynę, którą dopiero co poznał?
#tinder #randkujzwykopem





Cześć,
Mam problem z przekazaniem obiektu do widoku. Do aplikacji można zalogować się „tradycyjnie” lub poprzez facebooka. Na następnej stronie ma ukazać się informacja ‘witaj xyz’ jesteś zalogowany. Pojawia się problem logując się za pomocą facebooka, ponieważ pomimo zapisania do sesji obiektu przy próbie jego przekazania do widoku pojawia się informacja req.user undefined. Taką samą informację miałem gdy logowałem się „tradycyjnie”. Okazało się jednak, że pomogła zmiana kolejności inicjalizacji modułów Express session oraz passport. Brakuje już mi pomysłów. Zamieszczam kod może ktoś znów zauważy złą kolejność czy jakiś błąd. Zastanawiam się jeszcze czy nie można tego inaczej rozwiązać np. zapisać so sesji req.session.user = user w momencie serializacji jednakże nie mamy tam req.
Kod:
serwer
route
dependencies:
"bcryptjs": "^2.3.0",
"body-parser": "~1.15.1",
"connect-ensure-login": "^0.1.1",
"connect-flash": "latest",
"cookie-parser": "~1.4.3",
"debug": "~2.2.0",
"express": "~4.13.4",
"express-session": "latest",
"express-validator": "latest",
"hbs": "~4.0.0",
"mongodb": "latest",
"mongoose": "latest",
"morgan": "~1.7.0",
"passport": "latest",
"passport-facebook": "latest",
"passport-local": "^1.0.0",
"serve-favicon": "~2.3.0"
route:130
return done(null, user); // user found, return that userczy tutaj ten done() jest wykonywany? możesz sprawdzić jakimś console.logiem czy na pewno w momencie logowania ten kod
Co do route 130 tak jest wykonywany.
Co do serializeUser tak jest wykonywany w momencie rządania po zalogowaniu.
Wszystko działa do momentu router.get(/lobby) wtedy nagle okazuje się, że req.user is undefined. Potwierdza to fakt, że gdy w serializeUser dodam obiekt user do listy obiektów a w router.get(/lobby) go sciągam i przekazuje do widoku to dostaje upragnione witaj xyz.
passport.authenticate('facebook', {scope: 'email'})).
A w przypadku wykonywania serializeUser jesteś pewien że przekazujesz tam usera a nie null,
Komentarz usunięty przez autora
Chyba wiem dlaczego. W życiu bym na to nie wpadł. Mam serializację i deserializację zrobioną tylko dla jednejj kolekcji a używam dwóch. Nie znajdzie więc on id użytkownika z fb w tabeli dla zwykłego usera który rejestrował się poprzez stronę.
Ps. nawet nie zdążyłem podziurawić modułów.
ps: w przypadku backendów warto zastanowić się nad użyciem webpacka i babela. ja osobiście projekty backendowe tworzę używając webpacka i babela w pełnym ES6. faktycznie męczące może być odpalanie webpack --watch przy tworzeniu projektu i deployu, ale async await robi robotę.
http://pastebin.com/WLz5Cpbi
I nagle JS przestaje być gówniany ( ͡° ͜ʖ ͡°)