NextJS 13. Аутентификация и приватные роуты

  Рет қаралды 40,516

Михаил Непомнящий

Михаил Непомнящий

Күн бұрын

NextJS не предлагает встроенных инструментов для аутентификации, но с внешней библиотекой next-auth (она же authjs) работа с пользователями становится удобной. Смотрим как добавить вход на сайт через Google и через форму с почтой и паролем, а также как создать приватные разделы сайта, доступные только после аутентификации.
GitHub github.com/michey85/next-blog...
Тайм-коды:
00:00 Анонс темы
01:06 Next Auth intro
03:49 Добавление Google входа
07:43 Проверка сессий
13:15 Профиль пользователя
15:47 Приватные роуты
17:43 Форма авторизации
22:30 Кастомная страница входа
32:01 Итоги
Мои курсы по вебу с купонами:
✅ mishanep.com/
📢 Поддержка канала:
/ mishanep
www.tinkoff.ru/rm/nepomnyasch...
paypal.me/mishanep

Пікірлер: 121
@biLLie_wiLLie
@biLLie_wiLLie 11 ай бұрын
Спасибо за работу, Михаил! Если еще покажете про работу с призмой, то будет супер
@user-zz8rg3ko8v
@user-zz8rg3ko8v 11 ай бұрын
Спасибо вам! Наконец-то я разберусь с этой аутентификацией🎉
@raulcaballero3004
@raulcaballero3004 7 ай бұрын
Комментарий для поддержки канала. Очень помогают ваши видео глубже разобраться в теме. Особенно нравится ваше объяснение со стороны человека, который глобально может оценить задачу. Спасибо
@parmetra
@parmetra 8 ай бұрын
А за видео отдельное спасибо! Всё разложено по полочкам. Всё как всегда прекрасно, Михаил!
@user-pt8xp1wl4q
@user-pt8xp1wl4q 10 ай бұрын
Михаил, спасибо за простой и понятный разбор библиотеки NextAUTH !!!
@artemalekseevich4656
@artemalekseevich4656 8 ай бұрын
Спасибо за великолепную подачу и полезное видео! По поводу автоимпорта, тоже порой не подхватывает, но после полного написания, помогает сочетание клавиш "ctrl + ." на элементе, который необходимо импортировать
@me29_hi8
@me29_hi8 7 ай бұрын
Это однозначно самый лучший контент по JavaScript, который я видел в интернете за год обучения. Автор умеет удивлять, умеет подбирать контент и никогда не даёт лишней информации и воды, за что огромный респект. Такой труд очень дорогого стоит. Если будет какой-то курс, то я точно буду первым в списке покупателей.
@xasanovj.7919
@xasanovj.7919 11 ай бұрын
Огромное спасибо за подробные объяснения👍 жду новые уроки😊
@unknown.6914
@unknown.6914 Ай бұрын
Отличный урок Михаил. Спасибо вам за ваш труд.
@user-ig5oo7bm5p
@user-ig5oo7bm5p 11 ай бұрын
Великолепно, спасибо большое =) Очень было бы здорово если бы запили видео как работать с image в next js )))
@vic_shine
@vic_shine 10 ай бұрын
спасибо за урок! было бы круто расширить этот пример с помощью библиотеки Prisma и реальным примером работы с БД (сохранить данные после авторизации, etc). 😊
@user-ce5my7qu6s
@user-ce5my7qu6s 11 ай бұрын
Очень подробное и познавательное видео! Спасибо Вам за него!
@Sylar7773
@Sylar7773 11 ай бұрын
Спасибо огромнющее, дай Вам Бог всего самого наилучшего!!!
@sozdanie-saytov
@sozdanie-saytov 10 ай бұрын
Очередной лайк и Share за бесценную работу
@melodystic
@melodystic 11 ай бұрын
отличный подробный ролик! Спасибо!)
@user-rx1dg3tk8c
@user-rx1dg3tk8c 10 ай бұрын
Как всегда браво Михаил! И лайк
@kaber6400
@kaber6400 11 ай бұрын
Отличное видео, очень понятно про auth, хотелось бы посмотреть с куки, но это ладно)
@floky1342
@floky1342 11 ай бұрын
Спасиб за видео! Доступно, понятно, полезно)
@Commondore
@Commondore 11 ай бұрын
Отличное видео 👍. Спасибо
@ferraritestarossa
@ferraritestarossa 9 ай бұрын
Хочу предложить идею видео по добавлению к проекту NextJs с AuthJs интернационализации с поддержкой AppRouter (например Next-Intl). Очень как-то не просто подружить два пакета, работающих как middleware, с NextJs. Даже не смотря на наличие документации, при отсутствии полного рабочего примера приложения задача оказывается совсем не тривиальной. В инете эту тему ещё вообще никто полностью не раскрывал, только вопросы без ответов на Stackoverflow. У вас получилось отличное видео с разбором авторизации! И было бы здорово дополнить его другим роликом, где будет рассказано, как настраивать middleware пакеты при совместном использовании в NextJs. Спасибо за познавательные видео!
@NikOroferov
@NikOroferov 11 ай бұрын
Комментарий приемлемой длины в благодарность за ролик
@nataliak6347
@nataliak6347 10 ай бұрын
классно мы с этим разобрались, спасибо!)
@user-oc1qj1vu3c
@user-oc1qj1vu3c 11 ай бұрын
Отличный туториал
@ereburg
@ereburg 11 ай бұрын
Отличные и познавательные видео, спасибо! Будут ли подобные видео, но для мультиязычности на сайте? Не совсем понятно, как это делать с App Router.
@flyguy9864
@flyguy9864 Ай бұрын
Спасибо, ценное видео
@antonsvyatchenko8876
@antonsvyatchenko8876 11 ай бұрын
Жаль мне не попалось пару месяцев назад это видео. Спасибо.
@user-er1zd3qw1e
@user-er1zd3qw1e 11 ай бұрын
Очень помогло твое видео. Жду следующих. Не мог бы ты разобрать тему способов передачи данных между клиент компонентами и сервер компонентами. Или сетап стейт менеджмента напр. Redux чтобы можно было иметь доступ к стейту как на клиенте так и на сервере
@user-im1nj9ks3u
@user-im1nj9ks3u 8 ай бұрын
Спасибо большое
@bagga_lev
@bagga_lev 11 ай бұрын
Великолепно, спасибо большое =) Вопрос, будет ли оно так же хорошо работать с каптчей...
@honneyplay721
@honneyplay721 11 ай бұрын
Спасибо вам большое за ваш труд! Вы планируете рассказать как работает реакт квери в app роуте?
@user-rn5cl2fr8b
@user-rn5cl2fr8b 11 ай бұрын
Спасибо!
@jiza2377
@jiza2377 11 ай бұрын
Спасибо, ждал)
@user-pn3lw7xd8j
@user-pn3lw7xd8j 8 ай бұрын
Михаил запиши, пожалуйста, видеоурок от самого начала создания полноценного приложения на Next JS + Type Script и к нему добавить Базу данных на Mongo. Твои уроки как голоток свежего воздуха на русскоязычном ютубе!
@user-kc1hw2mn2p
@user-kc1hw2mn2p 11 ай бұрын
Михаил. Великолепные навыки ментора. Если будет у тебя интерес к теме next + ORM sequelize, сделай плиз. Хотелось бы глянуть как ты с сиквелом работаешь.
@ilyamartynov2743
@ilyamartynov2743 11 ай бұрын
Лучше typeorm, если призма сложновато. Sequelize не рекомендую, из-за кривой типизации
@en_kratia
@en_kratia 7 ай бұрын
Спасибо.
@user-kz8il6ft3e
@user-kz8il6ft3e 11 ай бұрын
Amazing video!
@user-wl6ik7od9d
@user-wl6ik7od9d 11 ай бұрын
Спасибо за доступное объяснение. Ток вот не очень понятно что с такой авторизацие делать (если использовать гугл и другие провайдеры, кроме как лагин и пароль). Я в том смысле по сути инфы о пользоателе вообще не какой. Какой толк от такой авторизации - просто вывести "привеит ИМЯ_ПОЛЬЗОВАТЕЛЯ" ? Хотелось бы больше практичности увидеть от next-auth ( втом сымсле как с этим работать дальше)
@alexles5003
@alexles5003 4 ай бұрын
Очень круто
@hiddenlul556
@hiddenlul556 11 ай бұрын
Михаил подскажите, через эту библиотеку можно работать с перехватчиком токенов, что бы полностью оказаться от аксиоса?
@Moishe_Rubinstein
@Moishe_Rubinstein 10 ай бұрын
Какой next сейчас для продакшена?
@HaykoGrigoryan
@HaykoGrigoryan 11 ай бұрын
как правильно сделать запрос на сервер и получить данные, сохранить их в Redux toolkit с Next JS 13.4
@bizmich_
@bizmich_ 9 ай бұрын
Как сделать все страницы protected и при этом через /signin вошел бы? ну для админки
@maximbuldov9437
@maximbuldov9437 11 ай бұрын
Вопросов больше чем ответов) Как теперь работать redux, rtk query, mobx, react query Как правильно использовать axios, вместо fetch Как делать асинхронные запросы в серверных компонентах Как получать pathname в серверных компонентах Еще целую вечность ждать когда обновятся все документации 😢
@nickolz1091
@nickolz1091 11 ай бұрын
Спасибо за работу, хотелось бы ещё увидеть как редакс получает данные от серверных компонентов
@mishanep
@mishanep 11 ай бұрын
Напрямую никак, в серверных компонентах нет редакса. В принципе можно попробовать спустить данные пропсами в клиентский компонент и там уже использовать с редаксом. Не пробовал =)
@nickolz1091
@nickolz1091 11 ай бұрын
@@mishanep спасибо за ответ
@CJIu3eHb
@CJIu3eHb 11 ай бұрын
Файл с мидлварами получается только один. В принципе, на фронте их вроде не так много случается, но все-таки. Либо функциями выносить, либо все в кучу. И матчер общий: т.е. либо смириться, либо вручную внутри мидлвары разруливать по адресу.
@unrealz3129
@unrealz3129 11 ай бұрын
Спасибо, вопрос теперь как это все выложить на nginx или вообще себе на сервер)
@dijfhvidiedjnw2825
@dijfhvidiedjnw2825 11 ай бұрын
Добрый день, Михаил! Подскажите, сколько примерно роликов будет по Next.js?
@mishanep
@mishanep 11 ай бұрын
У меня нет четкого контент плана. Я пока не знаю когда будет следующее видео по этой теме. На работе 12-я версия и получается небольшая шизофрения при разборе 13й :)
@smotritelyoutube
@smotritelyoutube 11 ай бұрын
Не знаю где еще спросить, но что за проблема с флагом --turbo? " Wasm binding does not support --turbo yet", это только у меня такая или у кого-то еще? И в чем вообще проблема? как решить ее?
@user-bh8gr6ug8y
@user-bh8gr6ug8y 8 ай бұрын
Я все повторил как в видео, однако есть нюанс что когда после логинизации отрисовывается страница то на 1сек видно кнопку "Логин". Можно ли как то от этого избавиться?
@snitko13
@snitko13 5 ай бұрын
Спасибо за видео. Но есть один момент. Подскажите, как избавится от бага в нашем случае в хедере. Суть в том, что будучи авторизоваными при обнавлении страницы у нас на некоторе время пропадает защищенный пункт меню, а потом появляется, так как проверяется авторизация и на это надо время. Об этом ни кто никогда не говорит особо и я даже заметил, что частенько в видео не обновляют страницу. По идее это можно решить на уровне сервера. Но в нашей ситуации клиентский компонент. Буду очень благодарен (да и не только я), если объясните этот момент. Заранее СПАСИБО!
@user-dy5sv1gx4v
@user-dy5sv1gx4v 6 ай бұрын
вы супер!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@vahev5554
@vahev5554 11 ай бұрын
А как можно сделать редирект если я сделаю аутентификацию через firebase?
@victormog
@victormog 11 ай бұрын
Если не работают автоимпорты в VS Code (и по многим другим проблемам) можно попробовать Ctrl-Shift-P и выбрать "TypeScript: Перезапустить сервер TS (Restart TS Server)"
@19fetisoff
@19fetisoff 9 ай бұрын
a можно попробовать использовать webstorm в разработке и забыть что такое писать импорты руками
@victormog
@victormog 9 ай бұрын
@@19fetisoff VS Code нормально добавляет импорты, а WebStorm - платный...
@hiki7661
@hiki7661 8 ай бұрын
@@19fetisoff а смысл?
@user-yf2er5vr8q
@user-yf2er5vr8q 11 ай бұрын
Михаил спасибо большое за ваши уроки вы очень помогли мне при изучении JS -TS, лучшие уроки из всех что видел - англоязычные уроки трудно смотреть-так как это превращается в изучение английского языка а не ЯП, сейчас изучаю nest, как по вашему мнению - нест перспективный в бекенд разработке сейчас?
@mishanep
@mishanep 11 ай бұрын
Мне сложно компетентно ответить про перспективы nest на рынке бэкенда. Фреймворк популярный, но я с ним пока не работал.
@user-yf2er5vr8q
@user-yf2er5vr8q 11 ай бұрын
@@mishanep а с какими работали - просто интересно узнать если не секрет
@user-pl6xx3xk9t
@user-pl6xx3xk9t 11 ай бұрын
Добрый день Михаил. Спасибо за ваши труди, весь контент очень крутой, понятный, интересный. У меня вопрос относительно авторизации и взаимодействии с БД. Опишу вкратце мою задачу. У меня есть приложение. Есть кнопка «Продолжить с Google» При нажатии мы авторизуем юзера и получаем его данные от гугл провайдера. Далее, я проверяю по email, есть ли этот пользователь в БД. Я использую MongoDB. Если нет, сохраняю его в БД в таблицу User (email, provider type). Естественно уникальный ID генерируется автоматически. Далее юзер может создавать записи в таблице “posts”. Где есть id записи, user_id - из таблицы Users, content - сама запись. Сейчас, чтобы получить все записи пользователя, я передаю в get запросе на сервер user_id. Как мне этого избежать? Как я могу получать user_id на стороне сервера, если юзер авторизован, чтобы манипулировать с БД? Я понимаю, что это можно реализовать с помощью JWT токенов, в который обычно зашифровывается все нужная информация при успешной авторизации и потом на стороне сервера дешифруется и вытягиваются данные. Гугл провайдер может выдать JWT, но в нем, как я понимаю, зашифрован гугловский id, а не тот, что у меня создается в БД. Конечная цель это 1. Пользователь авторизовался при помощи гугл 2. Получить на клиенте все записи пользователя, не передавая в get запросе user_id, из таблицы User. 3. При получении get запроса, на сервере, иметь доступ к авторизованному user_id, чтобы вытащить все записи нужного пользователя и вернуть. В общем тема не самая легкая для понимания. Не могли бы вы раскрыть ее в отдельном видео или просто ответить лично. Заранее спасибо
@ilyamartynov2743
@ilyamartynov2743 11 ай бұрын
Вы сами ответили на свой вопрос) напримере гугла. При регистрации вы создаёте пользователя в БД, генерирует jwt, отдаёте клиенту, со всеми запросами передаёт его в header, сервер из jwt достаёт id пользователя. Аналогично при логине. Ещё раз, при аунтификацию гуглом, вы создаёте или получаете пользователя в БД и передаёт jwt токен с каждым запросом.
@Taiga_libertarian
@Taiga_libertarian 11 ай бұрын
💙💙💙
@oleksiishe7417
@oleksiishe7417 10 ай бұрын
А вообще норм практика сервер с node.js перенести на next, я читал что next тоже работает с Sequelize , и в принципе можно сделать полноценное апи на next, кто-то практиковал? как оно геморройно?
@mishanep
@mishanep 10 ай бұрын
Норм. Встанут вопросы миддлвейров, тут они они иначе устроены. Но возможно да.
@user-pi1vr6rf1k
@user-pi1vr6rf1k 10 ай бұрын
Было бы круто посмотреть как оперировать jwt токенами. Когда у тебя бэкенд, к примеру на nest, и нужно контролировать актуальность сгенерённого там токена. Чтобы избежать рассинхрона, когда nextauth думает что пользователь авторизован, а на бэке токен уже протух.
@alexsanders7240
@alexsanders7240 18 күн бұрын
Вышло разобраться с JWT токенами?
@user-pi1vr6rf1k
@user-pi1vr6rf1k 17 күн бұрын
@@alexsanders7240 Полностью делегировал генерацию и проверку токенов на "большой бэкенд" на nest-е. На фронте access токен хранил обычных куках, а refresh - в httponly.
@dinist4549
@dinist4549 6 ай бұрын
На 9:50 мы создаем Клиентский компонент - Provider, и оборачиваем в него все остальное, получается, что все компоненты внутри Provider будут клиентскими?
@en_kratia
@en_kratia 5 ай бұрын
Да
@victormog
@victormog 11 ай бұрын
Куда копать по поводу валидации ошибок в форме (в данном случае - формы логина), чтобы выдавать конкретные сообщения пользователю?
@mishanep
@mishanep 11 ай бұрын
Для фронтовой валидации вы можете использовать либо html атрибут pattern, который работает с regex, либо валидировать в момент отправки формы средствами js, либо использовать сторонние библиотеки, вроде react-hook-form. При проверке credentials сервисы обычно не уточняют какие именно данные были введены некорректно, в частности, чтобы нельзя было проверить со стороны если учетная запись на конкретную почту.
@victormog
@victormog 11 ай бұрын
@@mishanep Вот и я не увидел в логе, что именно пароль не верный... 😞
@snatvb
@snatvb 11 ай бұрын
это все конечно здорово, но вот в сагах непонятно как юзать например :)
@webreflect672
@webreflect672 7 ай бұрын
Не подскажет ли кто нибудь как подцепить "Одноклассников" в nextauth?
@tymurkr
@tymurkr 26 күн бұрын
1. Есть ли какие-то сильный изменения сейчас, или в next 14?; 2. Как можно создать регистрацию пользователя, и как создать проверку аккаунта через otp код, или url на email?
@user-er1zd3qw1e
@user-er1zd3qw1e 11 ай бұрын
Сними на тему "on-demand revalidation"
@user-kp4dv3zi9f
@user-kp4dv3zi9f 11 ай бұрын
Есть ли смысл связывать такую аутенфикацию со своим бэком (отдельным сервером)? Например, после ответа от гугла в callbacks делаем запрос на свой сервер, и там получаем свои токены и все данные пользователя.Но всё равно не оч понятно как дальше работать со стором
@ilyamartynov2743
@ilyamartynov2743 11 ай бұрын
Юзайте effector и не будет проблем)
@---Maksim---
@---Maksim--- 10 ай бұрын
Конечно есть смысл. Ты авторизуешь пользователя и при успехе идешь запросом с сервера next-a на сервер с БД, затем отдаешь эти данные в профиль пользователя на клиент.
@user-js7lf6vb9n
@user-js7lf6vb9n 11 ай бұрын
А если нужна авторизация только через логин/пароль есть ли смысл использовать next auth? Или проще обернуть в рут лайауте приложение в protected-routes в котором делать запрос за юзером по токену к апи и если токен не валидный, кидать на страницу авторизации?
@mishanep
@mishanep 11 ай бұрын
Вы можете описать логику protected route в middleware, чтобы не перегружать рут лейаут. А там уж как вам удобнее. Если вы видите, что библиотека только усложняет процесс, то не используйте.
@user-js7lf6vb9n
@user-js7lf6vb9n 11 ай бұрын
Нельзя
@user-js7lf6vb9n
@user-js7lf6vb9n 11 ай бұрын
И как, в таком случае, сохранить юзера в стор ваще непонятно 😢
@user-gn1jl9sg8h
@user-gn1jl9sg8h 11 ай бұрын
Когда продолжение?
@lisofsky8151
@lisofsky8151 8 ай бұрын
подскажите пожалуйста google cloud - платный ? вижу про кредит в 300$
@mishanep
@mishanep 8 ай бұрын
Обычно облачные сервисы предоставляют какой-то стартовый бюджет - на попробовать. А дальше баланс уже придется пополнять. Плюс сам стартовый бюджет могут начислять после привязки карты.
@viktormoskalev2269
@viktormoskalev2269 11 ай бұрын
А стоит уже сейчас делать реальный проект на апп дире , или он еще сырой ?
@mishanep
@mishanep 11 ай бұрын
Некст его рекомендует после того, как они выкатили стабильную версию. Говорят, что серверные компоненты могут пока чуть медленнее работать, но я не замерял.
@ringnull
@ringnull 11 ай бұрын
Что означает собака в этом пути import { authConfig } from "@/configs/auth";
@mishanep
@mishanep 11 ай бұрын
Это просто один из способов задачи алиасов путей. В данном случае - дефолтный вариант, идущий с некст из коробки. По сути, @ указывает на корневую директорию проекта в данном случае.
@m.g.0416
@m.g.0416 7 ай бұрын
Не совсем понятна концепция хэндлеров и апи - получается, что эта история нужна нам, когда мы отказываемся от бэка и все бэковские задачи перетаскиваем на фронт?
@OlehBilostotskyi
@OlehBilostotskyi 11 ай бұрын
Здравствуйте, у меня такой вопрос) я стврорив сайт используя next js и вот он у меня такой красивый загружается только локально, конечно я хочу его так сказать загрузить его в сам интернет. Чтобы он мог отображаться в поиске. Каким образом мне нужно это сделать? Много видео где все льют все на версел и тд, но это чуточку не то) помогите решить эту проблемку)
@mishanep
@mishanep 11 ай бұрын
Я использую Vercel. Он оптимально подходит для сайтов на Next. Плюс имеет бесплатный вариант (разумеется, со своими ограничениями).
@OlehBilostotskyi
@OlehBilostotskyi 11 ай бұрын
@@mishanep окей, тогда такой вопрос, у меня сейчас такая ситуация, я сделал знакомому сайт и его типа можно просто выгрузить на вересель и все? Типа поисковые систимы будут видеть этот сайт и, ну чисто гипотетически он сможет со временем выйти в топ? Возможно где-то можно об этом более подробно почитать, потому что я что-то думал, что это как-то проще работает))
@oleksiishe7417
@oleksiishe7417 10 ай бұрын
@@OlehBilostotskyi цікаво, і як в тебе получилось? Сайт бачить гугл?
@shortsvideo4570
@shortsvideo4570 4 ай бұрын
залий на хост любой@@OlehBilostotskyi
@johnfargo9774
@johnfargo9774 8 ай бұрын
почему на гитхабе код другой?
@mishanep
@mishanep 8 ай бұрын
Вероятно на гитхабе есть разные ветки, и под это видео в частности.
@artyomtaranenko2267
@artyomtaranenko2267 11 ай бұрын
Мне понравилось называть папку (auth), тогда не попадает лишний разделитель в урл.
@TpyrBo3Db
@TpyrBo3Db 5 ай бұрын
что-то мне совершенно не понравилась библиотека. не обновляет токен из коробки с провайдером keycloak
@user-dm1oz7is2u
@user-dm1oz7is2u Ай бұрын
всем привет. У кого еще была такая же проблема? Argument type {credentials: {password: {label: string, type: string, required: boolean}, email: {label: string, type: string, required: boolean}}, type: "credentials", authorize(credentials: any): Promise} is not assignable to parameter type UserCredentialsConfig
@umalishonuy7977
@umalishonuy7977 11 ай бұрын
Я не эксперт но мне это кажется очень замороченной авторизацией😅
@user-xu9py5xg7n
@user-xu9py5xg7n 4 ай бұрын
Очень уважаю вас и ваш труд Михаил. Но думаю тут немного неправильный заголовок урока так как вы в этом уроке показываете определенную библиотеку которая приватизирует только роут авторизации а не приватизацию роутов в целом - например как заприватизировать роут админ страницы и т.п.
@boyywnkobe
@boyywnkobe 11 ай бұрын
don't work with pages and many errors like resolver
@mishanep
@mishanep 11 ай бұрын
Для pages немного по-другому идёт базовая настройка. Смотрите документацию.
@boyywnkobe
@boyywnkobe 11 ай бұрын
@@mishanep смотрел но что то не виходит. У меня уже есть мои компоненти sign-in, sign-up, reset-password
@boyywnkobe
@boyywnkobe 11 ай бұрын
Слелал
@hopmnc
@hopmnc 8 ай бұрын
Годно, спасибо
@user-sw4ed4gh9n
@user-sw4ed4gh9n 4 ай бұрын
16:05
@leonidserafimovich4844
@leonidserafimovich4844 5 ай бұрын
Всем привет ! Кто делал авторизацию через openid в Next js ???? ХХЕЕЛЛПП
@user-sw4ed4gh9n
@user-sw4ed4gh9n 3 ай бұрын
12 30
@loreart9320
@loreart9320 6 ай бұрын
Здраствуйте, Михаил, очень помог ваш урок, но так и не понял как уберечь пользователя от перехода на страницу авторизации уже когда он авторизован. Может у вас есть урок по поводу сего?
@mishanep
@mishanep 6 ай бұрын
Мы смотрели как проверить наличие сессии. Вы можете добавить проверку наличия сессии на странице авторизации, и при ее наличии делать редирект.
@loreart9320
@loreart9320 6 ай бұрын
@@mishanep Спасибо, я так и сделал вчера, просто думал есть возможность запретить некоторые страницы для авторизованных пользователей, как мы это делали с неавторизоваными, и чтобы переадресацией в такие моменты была на главную страницу а не на форму авторизации. Ваши уроки действительно помогают изучать паттерны решения задач, так ещё и отвечаете на вопросы оперативно, спасибо ещё раз.
@user-er1zd3qw1e
@user-er1zd3qw1e 11 ай бұрын
Очень помогло твое видео. Жду следующих. Не мог бы ты разобрать тему способов передачи данных между клиент компонентами и сервер компонентами. Или сетап стейт менеджмента напр. Redux чтобы можно было иметь доступ к стейту как на клиенте так и на сервере
NextJS 13. Варианты рендеринга - RSC, CSR, SSR, SSG, ISR
26:31
Михаил Непомнящий
Рет қаралды 24 М.
OMG 😨 Era o tênis dela 🤬
00:19
Polar em português
Рет қаралды 3,6 МЛН
Next.js App Router Authentication (Sessions, Cookies, JWTs)
11:31
Lee Robinson
Рет қаралды 131 М.
Аутентификация. Сессии и JWT
23:37
Сеньор Фронтенд
Рет қаралды 4,8 М.
React и Next js убивают фронтенд!
9:11
Миша Ларченко
Рет қаралды 41 М.
NextJS 13. Использование клиентских компонентов
32:19
Михаил Непомнящий
Рет қаралды 35 М.
ПРОБЛЕМА МЕХАНИЧЕСКИХ КЛАВИАТУР!🤬
0:59
Airpods’un Gizli Özelliği mi var?
0:14
Safak Novruz
Рет қаралды 6 МЛН