No video

#Nestjs - Uwierzytelnienie i autoryzacja API z Passport.js JSON Web Token (JWT) by overment

  Рет қаралды 8,968

overment

4 жыл бұрын

Jak zabezpieczyć API w #Nest.js wykorzystując Passport.js i JSON Web Token (JWT)? W tym filmie wyjaśniam jak przygotować rejestrację i logowanie użytkowników oraz jak skonfigurować local-strategy i jwt-strategy w celu kontroli dostępu do endpointów naszego API z pomocą AuthGuard. Chcesz zawsze pozostać na bieżąco z programowaniem?
📩 Zapisz się na newsletter:
overment.com/newsletter?
🔔 Subskrybuj mój kanał - kzbin.info
🎓 Więcej moich kursów znajdziesz na:
overment.com/eduweb (reflink)
Tworząc #overment (np. kursy i tutoriale) najwyższą wartością jest dla mnie Twój czas. Moja strategia polega na tym, aby dotrzeć do źródła tematu i świadomie odrzucić niepotrzebne elementy. W ten sposób w prostych słowach wyjaśniam Ci to, co jest naprawdę istotne.
Znajdziesz u mnie filmy dla front-end, back-end i full-stack developerów. Główne tematy moich filmów to m.in: #JavaScript, Node.js (Express.js / Nest.js) ale również HTML, CSS oraz bazy danych (mySQL i mongoDB). Dodatkowo zawsze dbam o to, aby treści na filmach były maksymalnie aktualne.

Пікірлер: 38
@Alex-scc
@Alex-scc 4 жыл бұрын
Dobry format, ale naprawde brakuje refresh tokena. W internecie bardzo malo informacji o tym jak to ladnie zrobić w nest, a temat jest ważny. Chociaż komu naprawdę jest potrzebny zrobi jak w ekspressie
@Loczek-lm4bj
@Loczek-lm4bj 2 жыл бұрын
Dzięki, przerobiłem dokumentację autentykacji od Nest.js, ale Twój filmik bardzo mi pomógł
@adriankukowski3217
@adriankukowski3217 4 жыл бұрын
Wydaje mi się, że jest mały błąd na filmie w auth.service.ts powinno być słowo await przed bcrypt.compare() ponieważ funkcja jest asynchroniczna i zwraca promise które zawsze będzie rzutowane na true przez co możemy się zalogować obojętnie jakim hasłem.
@overment
@overment 4 жыл бұрын
Masz rację! Zgubiłem tam await 🙂 Dziękuję!
@わかりませんピョトル
@わかりませんピョトル 2 жыл бұрын
Dlaczego jwt wykorzystujesz do tego zamiast cookie? I czy zrobisz wersję z cookie? Np. z autonomiczną bazą Oracle?
@Propherex
@Propherex 4 жыл бұрын
Wszystko spoko, ale co jeżeli chciałbym zalogować użytkownika już w momencie rejestracji? Nie mogę użyć localguarda w tej formie. Da się jakoś z poziomu serwisu wywołać tworzenie sesji w passporcie? Czy może lepiej osobny guard tylko dla tego celu?
@Nimplex
@Nimplex 4 жыл бұрын
a w typescript jest coś takiego jak global? Bo w js napisałem sobie moduł do zarządzania bazą danych no można było dać global.conn = await init() I dzięki temu z każdego miejsca w kodzie i innych plikach miałem dostęp do poloczenia z bazą czy da się coś takiego w typescirpt zrobić?
@overment
@overment 4 жыл бұрын
Tak, masz dekorator @Global() docs.nestjs.com/modules#global-modules
@mkrzyzowski
@mkrzyzowski 3 жыл бұрын
Nie trzeba zapisywać salt by potem sprawdzić hasło? Raczej trzeba by wygenerować hash z hasla i salt i porównać. W innym filmie zapisujesz to. A w tym nie wracasz do loginu i nie poprawiasz kodu pod hash. Zgadza się? Czy mylę się?
@mykhailo_klym
@mykhailo_klym Жыл бұрын
O ile wiem bcrypt nie potrzebuję osobnej kolumny pod salt, bo hasło które on zapisuje w bazie już będzie zawierało salt, np: 'salt:passwordHash'. On potem robi split na tym stringu, i dlatego nie ma potrzeby w osobnej kolumnie.
@ircykk
@ircykk 4 жыл бұрын
Fajny poradnik
@overment
@overment 4 жыл бұрын
Dziękuję! :)
@hepsko2318
@hepsko2318 4 жыл бұрын
Mam pytanko, co myślisz o springu? Warto w niego celować twoim zdaniem ?
@overment
@overment 4 жыл бұрын
Hejka 👋 Niestety nie mam żadnego doświadczenia ze Springiem 🙁
4 жыл бұрын
A jeśli chciałbym posiadać jeszcze jeden guard jwt. Tylko że ten drugi był by przypisany dla tokenu odświeżającego główny token. Czy wtedy domyślna strategia 'jwt' wypali? Czy może trzeba od zera napisać właśną strategię?
@overment
@overment 4 жыл бұрын
No tak, musiałbyś odpowiednio rozszerzyć metody i obsługiwać refresh_token. Nie będę już tego omawiał w serii ale możesz rzucić okiem na ten artykuł: codeforgeek.com/refresh-token-jwt-nodejs-authentication/ Wydaje się być w porządku i omawia dokładnie ten temat.
4 жыл бұрын
@@overment Ok! Wielkie dzięki za odpowiedź! Chętnie sprawdzę artykuł 👍
@cholewciax
@cholewciax 4 жыл бұрын
Doczekałem się :D
@overment
@overment 4 жыл бұрын
To fakt! ❤️ mam nadzieje ze się przyda :)
@qob2249
@qob2249 4 жыл бұрын
To teraz refresh token i jak to wszystko połączyć :)
@overment
@overment 4 жыл бұрын
🙃 tak zrobimy w kolejnych odcinkach serii.
@patix0331
@patix0331 4 жыл бұрын
@@overment A kiedy będą kolejne odcinki serii? Osobiście uważam tę serię za dużo lepszą, od functional programming. Czekam na więcej, pozdrawiam.
@Miedziaqsc
@Miedziaqsc 4 жыл бұрын
@@patix0331 które nigdy nie powstaną? :P
@overment
@overment 4 жыл бұрын
Będą. Pracuje nad serią Vue 3 / Nest / Stripe
@adrianosky282
@adrianosky282 4 жыл бұрын
Wincej wincej, chciałbym reacta alvo Redux zobaczyć na kanale albo vue
@overment
@overment 4 жыл бұрын
Będzie Redux! :)
@piotrekszewczyk4470
@piotrekszewczyk4470 4 жыл бұрын
Możesz nagrać odcinek dot. graphql w nestJS?
@direxyt7960
@direxyt7960 4 жыл бұрын
Siema wujo das, sefce fajny film
@szymeo69
@szymeo69 4 жыл бұрын
XD
@overment
@overment 4 жыл бұрын
ಠ‿ಠ