JSON Web Tokens w Node.js (Express.js) | overment

Поділитися
Вставка
  • Опубліковано 19 жов 2024
  • JSON Web Tokens to technika umożliwiająca autoryzację użytkownika (klienta) na jednym lub wielu serwerach. Z tego powodu odgrywa ogromną rolę w aplikacjach typu SPA oraz architekturze wykorzystującej mikroserwisy i/lub serverless.
    W tym filmie dowiesz się:
    👉 Jak skonfigurować aplikację express.js ze wsparciem ES6 Modules?
    👉 Jaką rolę odgrywa plik .env i jak z nim pracować?
    👉 Jaką rolę odgrywają tokeny JWT w SPA / Mikroserwisach / Serverless
    👉 Jak wygenerować bezpieczny SECRET_TOKEN dla JWT?
    👉 Jak utworzyć tokeny JWT oraz refresh token?
    👉 Jak stworzyć middleware autoryzujący użytkownika
    👉 Jak usprawnić sobie pracę z API w VSC?
    👉 Jak bezpiecznie przechowywać tokeny w cookies httpOnly
    Kod źródłowy z omawianego przykładu:
    github.com/ice...
    E-book Sekuraka o JWT:
    sekurak.pl/dar...
    E-book Auth0 o JWT:
    auth0.com/reso...
    Chcesz zawsze pozostać na bieżąco z programowaniem?
    📩 Zapisz się na newsletter:
    overment.com/n...
    🔔 Subskrybuj mój kanał - www.youtube.co...
    🎓 Więcej moich kursów znajdziesz na:
    overment.com/e... (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.

КОМЕНТАРІ • 21

  • @reactor8502
    @reactor8502 3 роки тому +9

    Właśnie tego potrzebowałem. Super, że kontynuujesz serie node.js. Dzięki 😃

  • @evelred900
    @evelred900 3 роки тому +3

    super materiał, fajnie byłoby jeszcze zobaczyć obsługę jwt po stronie frontu w reakcie

  • @tendanium
    @tendanium 3 роки тому +6

    Będzie filmik na temat autoryzacji użytkownika w SPA (React, Vue lub Angular) przy użyciu access tokenów i refresh tokenów? Bardzo prosiłbym o tego typu film w najbliższym czasie.

    • @michat6082
      @michat6082 3 роки тому +1

      dołączam się do pytania

    • @overment
      @overment  3 роки тому +1

      Tak, będzie dla Vue lub React. Dla Angulara z całą pewnością nie, jestem w tej chwili mega daleko od tego ekosystemu. Rozwijam projekty w Vue / React i nie chcę nagrywać filmów na tematy o których mam średnie pojęcie (sporo projektów rozwijałem w AngularJS ale minęło trochę czasu a sam framework mocno się zmienił)

    • @krzysztofstozek6588
      @krzysztofstozek6588 3 роки тому

      @TenDan tak na dobrą sprawę możesz użyć tego co masz w odcinku jeśli zapiszesz oba tokeny do ciastka to po wysłaniu zapytania do ścieżki /login już będziesz zalogowany i kolejne zapytania bedą zawierać w ciastku token więc nic nie trzeba na froncie dodawać. Jedyne co to warto żeby endpoint /login zwrócił informację że użytkownik jest zalogowany i jakieś dane uzytkownika typu username, avatar itd żeby można było zmienić stan aplikacji

  • @krzysztofstozek6588
    @krzysztofstozek6588 3 роки тому

    Token też można przechowywać w bazie danych wtedy można bardzo łatwo zrobić wymuszenie wylogowania użytkownika i pokazywać uzytkownikom aktywne sesje. Co do przechowywania to imho http only cookie dla dwóch tokenów to najlepsza opcja wtedy nie trzeba ich zwracać do użytkownika. Jedną rzecz bym tylko zmienił mianowicie żeby endpoint refresh przyjmował też token który chcemy odświeżyć, bo w twoim przykładzie załóżmy że ktoś refresh token będzie trzymać w localstorage - wystarczy tylko przejąć ten token żeby uzyskać dostęp do konta. Film bardzo dobrze wszystko wyjaśnia, dobra robota :)

    • @overment
      @overment  3 роки тому

      Good point z tym refresh tokenem :)
      Dziękuje :)

  • @bartekdd2658
    @bartekdd2658 3 роки тому

    Fantastyczny film, czekam na kolejne części!

    • @overment
      @overment  3 роки тому

      Dziękuję Bartek 🙂

  • @Sebooobek
    @Sebooobek 3 роки тому

    No trafiłeś z filmikiem idealnie :D

    • @overment
      @overment  3 роки тому

      A proszę bardzo! 😁

  • @mikos42
    @mikos42 3 роки тому +6

    Nie lepiej ustawić type: module w package.json niż instalować esm ?

    • @overment
      @overment  3 роки тому +1

      Faktycznie lepiej 🙂Totalnie o tym nie pomyślałem, dzięki!

  • @michah3956
    @michah3956 2 роки тому

    Access Token i Refresh token? Pytanie tylko po co skoro można to wszystko na jednym zrobić?

  • @MariuszOtlewski
    @MariuszOtlewski 3 роки тому

    A kiedy odświeżać Access Token? Jak sprawdzać, że się kończy jego ważność?

  • @Eddyi0202
    @Eddyi0202 3 роки тому

    Jak można uzyskać takie autouzupełnianie poleceń w konsoli oraz kolorowanie składni?

    • @overment
      @overment  3 роки тому +1

      Autouzupenianie to TabNine
      A kolorowe klamry to BracketPair Colorizer - zakładam ze o to może Co chodzić :)

  • @marcin_gladkowski
    @marcin_gladkowski 3 роки тому

    Cześć. Kolejny świetny materiał. Jednak napotkałem pewien ciekawy problem z rest extension. Jeśli umieści się wartość nagłówka w cudzysłowiu to nie jest to poprawnie wysłany post i nie można go sparsować przez co miałem przez jakiś czas walkę z undefined -> gist.github.com/MarcinGladkowski/678c3e6119f9d31ecd507408df0e4af9

  • @jakubkurdziel2407
    @jakubkurdziel2407 3 роки тому

    1:04 Jaki skrót klawiszowy do tworzenia plików ten sposób?

    • @overment
      @overment  3 роки тому +1

      Jest to rozszerzenie advanced new file.
      Skrót CMD + Option + N
      lub na Windowsie zakładam ze jest to CTRL ALT N