Аутентификация в NestJS

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ย. 2024
  • В этом видео мы рассмотрим, как настроить авторизацию на NestJS. Вы узнаете, как реализовать регистрацию с помощью логина и пароля, авторизацию пользователей по этим данным, а также авторизацию через Google и Яндекс. Также покажу как генерировать пару access и refresh токенов, как их хранить и работать с БД при помощи Prisma. Дополнительно разберем защиту роутов, создание своих декораторов, кешиирование данных и другое.
    Репозиторий доступен по ссылке t.me/webmogile...
    #nestjs #prisma #googleauth #yandexauth #jwt
    Google Console Developer console.cloud....
    Yandex Console Developer oauth.yandex.r...
    Присоединяйтесь к группе в телеграмме t.me/webmogile...

ความคิดเห็น • 52

  • @polioann
    @polioann 9 หลายเดือนก่อน +7

    00:00 - Начало
    01:38 - Добавление prisma, база данных
    08:54 - Работа с пользователем
    25:27 - Работа с аутентификацией

  • @spr1ng586
    @spr1ng586 10 หลายเดือนก่อน +3

    На самом деле супер офигенный видос по Nest. Для меня, как для новичка, получился видос не просто по аутентификации, а по самому фреймворку. Очень много нового узнал

  • @AGM140580
    @AGM140580 4 หลายเดือนก่อน

    Огромное спасибо за урок!
    Смотрел и повторял недели две.
    Получил много полезного опыта.
    С нетерпением жду Ваших новых видеоуроков.

  • @uncleabe8147
    @uncleabe8147 ปีที่แล้ว +4

    все видео переживал за букву "a")) надеюсь починили клаву :))

  • @Mr.Bellamy
    @Mr.Bellamy 11 หลายเดือนก่อน

    Посмотрел за 3 дня. Хорошее видео, спасибо! Единственное, видос был бы максимально полным, если бы еще добавлено было подтверждение почты и гуард который не пускает по опредленным путям, без подтверждения почты. Придется самому ковырять))))
    P.S. Авторизация через яндекс чет не завелась с ходу по аналогии с гуглом, там какой-то код прилетает, который надо менять на токен, а нест падает с ошибкой. Я не стал углубляться в доку, хep с ним. Паспорт яндекс в npm 3 года назад обновляли =\

  • @АлександрМорозов-р1х
    @АлександрМорозов-р1х 5 หลายเดือนก่อน +1

    Поставил плюс за старания, качество видео и за ссылку на репозиторий, но немного критики. Во-первых, непонятна целевая аудитория ролика. Новички? Тогда почему автор почти ничего не объясняет, для чего он делает то и сё? Опытные разрабы? Так они уже всё это знают и смотреть вряд ли будут. Средние, типа меня? Много спорного на мой взгляд, что можно было бы сделать по-другому или проще, не усложнять. Во вторых, неплохо было бы разбить видео на таймкоды, чтобы была ясная последовательность действий.

  • @АлибекБилалов-н4я
    @АлибекБилалов-н4я 10 หลายเดือนก่อน +2

    Отличный урок. Есть ли возможность сделать урок с Аутентификаций nest+graphql ?

  • @coOonNect
    @coOonNect 7 หลายเดือนก่อน +1

    Спасибо вам большое

  • @GLUCKKKKKKKKKK
    @GLUCKKKKKKKKKK 2 หลายเดือนก่อน

    В чем отличие от сессий если мы храним токены в бд?

  • @mansurmakhmutov7823
    @mansurmakhmutov7823 ปีที่แล้ว

    Отличная работа

  • @sergeyf4256
    @sergeyf4256 9 หลายเดือนก่อน

    команда \dt не сработала, только после прописывание всех характеристик этой командой psql -U root_auth -d db_auth - перешел именно к конкретной базе данны, а потом уже вводил \dt как в видео чтобы получилось увидеть List of relations. Ну возможно я что-то сделал не так как на видео т.к. версия pg: 15, dpage/pgadmin4:6

  • @helplrewerse2925
    @helplrewerse2925 ปีที่แล้ว +4

    2:48:33 nurses 2 xxx вот это ценитель. Как 1 часть зашла?

  • @mrblacklord6143
    @mrblacklord6143 หลายเดือนก่อน

    Как называется тема vscode?

  • @neurabrain
    @neurabrain 10 หลายเดือนก่อน

    а почему токены храним в postgres ? вроде правильнее их хранить в redis ?

  • @gigakvachakhia4777
    @gigakvachakhia4777 8 หลายเดือนก่อน

    gde novie Vidosi? :D sdelai kurs xotiabi, kupim

  • @neurabrain
    @neurabrain 10 หลายเดือนก่อน

    'prettier/prettier': [
    'error',
    {
    endOfLine: 'auto',
    },
    ], а что дает добавление этого кода? что с ним что без него я разницы не заметил

    • @dmitriygolub4362
      @dmitriygolub4362 หลายเดือนก่อน

      убирает ошибку ESLint, а именно "delete `␍`eslintprettier/prettier"

  • @AleksandrNeo
    @AleksandrNeo 11 หลายเดือนก่อน

    Привет, я нуб в фулстеке, но как можно (схематично) организовать общение этого бека с фронтом? У меня есть монорепа и хочу написать фронт для аутентификации и как раз такой вариант (пароли, провайдеры по типу гугл яндекс) мне очень подходит. Буду рад советам/комментариям

    • @Mr.Bellamy
      @Mr.Bellamy 11 หลายเดือนก่อน +3

      дык тут все апи есть, на фронте просто вызываешь эти методы, вместо постмана и вжуууууууух ты зареган))

  • @Павел-ф9ш6р
    @Павел-ф9ш6р 4 หลายเดือนก่อน

    1:03:38

  • @НикитаГришин-м5с
    @НикитаГришин-м5с 6 หลายเดือนก่อน

    Ты хорош, но буква а🥶🥶🥶

  • @robles2145
    @robles2145 6 หลายเดือนก่อน

    Для крупного проекта хранить рефреш токен в куках - мертвое дело. С репликацией вся эта схема работать не будет. Да и смысл вообще, если уж скрипт внедрился на фронт, то он и с кукой этой запрос кинет без проблем не обращаясь к ней

    • @axhmed4257
      @axhmed4257 2 หลายเดือนก่อน

      А где лучше хранить рефреш токен и access token тоже

    • @ilytoowee1372
      @ilytoowee1372 2 หลายเดือนก่อน

      так рял в локалсторадже хранить?

  • @Артём-б8у2е
    @Артём-б8у2е ปีที่แล้ว

    Шумная клавиатура

  • @andreisachuk5653
    @andreisachuk5653 ปีที่แล้ว +5

    спасибо за обалденный контент! очень полезно)

  • @steel10050Omusic_drums_live
    @steel10050Omusic_drums_live 27 วันที่ผ่านมา

    @webmogilev а нет Angular части для этой чудесной auth?

  • @kavm85
    @kavm85 3 หลายเดือนก่อน +1

    Очень познавательно. Спасибо.

  • @webmogilevtsev3177
    @webmogilevtsev3177  ปีที่แล้ว +4

    Ссылку на репозиторий прикреплю завтра вечером

    • @diatm1506
      @diatm1506 ปีที่แล้ว +1

      Ещё бы на angulare клиентскую часть написать)

    • @2009Spread
      @2009Spread ปีที่แล้ว

      @@diatm1506 да еще бы на первом

    • @diatm1506
      @diatm1506 ปีที่แล้ว +1

      @@2009Spread рофл?)))

  • @MikhailTeslenko86
    @MikhailTeslenko86 11 หลายเดือนก่อน +1

    я только не понял когда должен вызываться ендпоинт refresh-tokens?

    • @Mr.Bellamy
      @Mr.Bellamy 11 หลายเดือนก่อน +2

      это делается на фронте. Обычно через interceptors.
      Делается запрос обычный, например, добавить статью в блог с access токеном. Если возвращается 401 статус (access токен протух), то отправляется запрос на рефреш, чтобы обновить. Если все гуд, то запрос повторяется уже со свежим токеном.

  • @wrpffrdm8976
    @wrpffrdm8976 ปีที่แล้ว +1

    Спасибо! Очень стоящий контент! Круто!

  • @gigakvachakhia4777
    @gigakvachakhia4777 ปีที่แล้ว +1

    thanks a lot. ur content is amazing

  • @34535fff
    @34535fff 10 หลายเดือนก่อน

    А для чего нам 2 докера? Нужен ли второй докер который внутри призмы, он туда случайно попал? Имею ввиду тот что в папке prisma

    • @АлександрМорозов-р1х
      @АлександрМорозов-р1х 5 หลายเดือนก่อน +1

      Неа, здесь вообще докерфайл не нужен, потому что ведется только разработка (dev) и всё устанавливается через yarn. Нужен только docker-compose для удобного доступа к postgres и pgadmin. Докерфайл нужен если есть разные окуржения- одно для разработки, другое для тестирования, третье для продакшена. На фига? Чтобы не установить лишние библиотеки, для nodejs это очень болезненная тема. К примеру в продакшене уже не нужен jest и куча тайпскриптовых d.ts файлов. Сейча принято создавать один докер-файл и прописывать в нём мульти-этапные сборки. Видели наверное, в докер-файле бывает напихано: FROM node AS build потом ниже FROM node AS production и тд . Multi-staged build dockerfile по-научному

  • @fluffymuzzy
    @fluffymuzzy ปีที่แล้ว

    Спасибо за топ контент!
    Есть один вопрос по методу delete. Когда тестирую в постмане, он все равно удаляет и получает юзера даже если роль не ADMIN. Токен в постман корректный, но я не получаю ошибку 403, в чем может быть причина?

    • @kavm85
      @kavm85 3 หลายเดือนก่อน

      Сам себя может удалять.

  • @osad4enko
    @osad4enko 8 หลายเดือนก่อน

    Сервис токена занимает большую часть модуля AUTH, насколько ему уместно быть в AUTH, а не в своем собственном модуле TOKEN и инжектиться в другие модули ?

    • @webmogilevtsev3177
      @webmogilevtsev3177  8 หลายเดือนก่อน

      Можно, чтобы декомпозировать )

  • @2009Spread
    @2009Spread ปีที่แล้ว

    Агонь, не просто выделить столько времени, но это стоило этого

  • @sergeyshcherbina1648
    @sergeyshcherbina1648 ปีที่แล้ว

    Спасибо! Круто!

  • @CorleoneMikele
    @CorleoneMikele 11 หลายเดือนก่อน

    Такое ощущение что при печати ты прыгаешь на старой пружинной кровати, так клавиатура пружинами брянчит, без обид ). А контент интересный, тебе бы компуктер помощнее чтоб не лагало и нормальную клавиатуру🤘Сорян за некропостинг.

  • @VolframLEONE
    @VolframLEONE 10 หลายเดือนก่อน

    Что то я не понял как на фронте происходит логин, и получение данных юзера для фронта