WebFlux: JWT

  Рет қаралды 18,400

letsCode

letsCode

Күн бұрын

Spring Boot WebFlux JWT: добавляем Json Web Token для авторизации без Server side сессий
Поддержать проект:
➡ Стать спонсором www.youtube.co...
➡ Patreon / letscodedru
➡ Яндекс.Деньги money.yandex.r...
➡ PayPal paypal.me/lets...
➡ Qiwi qiwi.me/letscode
Переделываем авторизацию с серверных сессий на JWT (Json Web Token) - механизм, помогающий пользователю авторизовываться на сервере без хранения дополнительных объектов в стейте сервера. Зачем? Ну например, это поможет вам не терять авторизацию пользователя при перезагрузках сервера. Также это позволяет настроить авторизацию на микросервисах, ввиду того, что один сервис может выдавать токен для авторизации на всех сервисах приложения
Код из видео:
github.com/dru...
Страница проекта jjwt:
github.com/jwt...
Видео про Java Stream API:
• Java Stream API: функц...
Видео про Spring Reactor:
• Project Reactor - реак...
Видео про HTTP протокол:
• HTTP протокол на пальцах
Видео Sweater Deploy:
• Spring Boot: публикуем...
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡ Второй канал: / geekchatdru
➡ Twitch: / drucoder
➡ Твиттер: / letscodedru
➡ Группа Вконтакте: letscod...
➡ Канал в Telegram: t.me/letsCode_dru
➡ Чат в Telegram: t.me/joinchat/...
➡ Сервер в Discord: / discord
➡ Яндекс.Дзен: zen.yandex.ru/...

Пікірлер: 52
@StoneWeaver_RU
@StoneWeaver_RU 4 жыл бұрын
Ееей, видосик )) Лайкос!
@АлександрКалинин-с3ъ
@АлександрКалинин-с3ъ 2 жыл бұрын
Отличная подача материала. Сжато, по сути. Спасибо! Пожалуйста поправьте или оставьте коммент в видео на 8.20 о том, что должно быть .after(new Date()); а не .before(new Date()); долго не мог понять по чему не работает ))
@naikpatel6517
@naikpatel6517 3 жыл бұрын
Отличный видос, Андрей. Хотелось бы еще уроки по WebFlux + OAuth2 (Stateful и Stateless)
@kantoro90
@kantoro90 4 жыл бұрын
Bearer - носитель
@konstantinberezkin1292
@konstantinberezkin1292 4 жыл бұрын
У вас очень хороший канал и плейлист по спрингу)) Больше спасибо, что кратко показываете основы и быстро вводите в курс дела. Очень помогает
@rudolfsikorsky7900
@rudolfsikorsky7900 Жыл бұрын
Спасибо. Очень бы хотелось увидеть пример организации юзер-сервиса в виде отдельного микросервиса. Т.е. есть микросервис , который занимается пользователями: раздаёт токены, авторизует, следит за ролями и пр. И есть сервис (точнее их много, поэтому и выносим юзер-сервис отдельно), которому нужно понимать что за Вася к нему пришёл и какие данные ему можно отдавать. У сервиса есть бэк (Java) и фронт (React или что-то так ещё). По отдельности эти части плюс-минус понятны, по крайней мере, можно найти примеры. А вот как они должны взаимодействовать - непонятно. При этом задача-то шаблонная, наверняка есть типовой паттерн чтобы не городить велосипеды. Вот об этом хотелось бы узнать :)
@KirillOka-t9c
@KirillOka-t9c 4 жыл бұрын
При использовании ломбока и private final подойдет @RequiredArgsConstructor
@matus18matusew69
@matus18matusew69 4 жыл бұрын
обычный четверг оказался очень не обычным. Спасибо!
@alexserezhenko
@alexserezhenko 4 жыл бұрын
для новичков самое оно. Пара моментов, новичкам было бы полезно еще увидеть работу рефреш токена, подпись приватным ключом, и верификацию публичным. Так держать!
@jdjekfhoe
@jdjekfhoe 4 жыл бұрын
А вы работаете спринг разработчиком?
@igorsand2850
@igorsand2850 4 жыл бұрын
Осталось прикрутить keycloak и вообще отлично будет
@СергейНишпал
@СергейНишпал 2 жыл бұрын
"Всякую дрянь после python забываю..." Умора. :) Ох уж эти специалисты-программисты! :)
@alex4everyours
@alex4everyours 4 жыл бұрын
Большое спасибо за полезный и актуальный видос!
@Despenser
@Despenser 4 жыл бұрын
есть хорошее исключение UnsupportedOperationException, на мой взгляд для метода save в SecurityContextRepository более логично выражает суть происходящего. А в целом спасибо за материал
@AlexRom1986
@AlexRom1986 4 жыл бұрын
Благодарю!
@tedikvredik
@tedikvredik 4 жыл бұрын
"все будет безопасненько и реактивненько" )))
@ДенисМатвеев-ж8и
@ДенисМатвеев-ж8и 4 жыл бұрын
По итогy - реактивности нет. Если любому Flux добавить, скажем .delayElements(Duration.ofSeconds(3)), то сервер вернет результат после того, как во Flux будут добавлены все элементы. Идея Flux в том, чтобы возвращать данные уже по мере появления в них данных
@eryabyshev
@eryabyshev 4 жыл бұрын
Очень-очень интересная тема!!!! Интересно посмотреть как правильно реализовать связи между таблицами типа oneToMany, manyToOne и manyToMany
@andreyguzik2675
@andreyguzik2675 4 жыл бұрын
Чеширское одобрение! ⛹️
@vp9878
@vp9878 4 жыл бұрын
как всегда - ОТЛИЧНО!
@bull3003m
@bull3003m 4 жыл бұрын
Всегда было интересно, как современные фронт-енд приложения хранят этот токен. И как вокруг него создается пользовательская сессия.
@tomozi1
@tomozi1 4 жыл бұрын
Превосходный материал!
@ВикторияК-с5ц
@ВикторияК-с5ц 4 жыл бұрын
Человечище, спасибо большое!
@btk467
@btk467 4 жыл бұрын
Как всегда полезно и вкусно !
@Emsique
@Emsique 3 жыл бұрын
В медведителе я бы сделала replace("Bearer ", "") 🙃 🐻
@АлександрРезов-ь3ф
@АлександрРезов-ь3ф 3 жыл бұрын
Ураааа... 500 лайков, скоро будет продолжение😀 А я почти прочитал книгу Олега Докуа по реактивному программированию🤓
@denyszvieriev3426
@denyszvieriev3426 2 жыл бұрын
Очень ждем продолжение)) Когда будет?
@AnnaSmirnova1
@AnnaSmirnova1 4 жыл бұрын
Первый коммент😊
@mikhaelkondrashkin
@mikhaelkondrashkin 4 жыл бұрын
За новый видосик лайкос!
@phpusr
@phpusr 4 жыл бұрын
А если нужно, чтобы аутентификация работала после перезагрузки страницы, нужно ещё делать аутентификацию по cookie?
@wodzimierzletov2990
@wodzimierzletov2990 4 жыл бұрын
А будут видео про Apache Kafka? Очень хотелось бы увидеть.
@letsCodeDru
@letsCodeDru 4 жыл бұрын
будут)
@phil2964
@phil2964 3 жыл бұрын
Сууупер!!!)))
@Алексей-й4ю1ц
@Алексей-й4ю1ц 4 жыл бұрын
Я видел вариант с реализацией через фильтр вместо authenticationManager и securityContextRepository, какой вариант наиболее правильный?
@rolymeck
@rolymeck 4 жыл бұрын
Большое спасибо! Запушь веточку на гитхаб :)
@dreamer_vi905
@dreamer_vi905 2 жыл бұрын
13:15 можно использовать var.
@gennadijdegterjow8457
@gennadijdegterjow8457 4 жыл бұрын
getBytes() без Charset параметра будет давать разные результаты на разных системах
@rodionkasatkin3713
@rodionkasatkin3713 4 жыл бұрын
Ссылка на исходники чет не открывается, или это только у меня проблемы?
@olehold
@olehold 4 жыл бұрын
все нормально
@AquaChanneOne
@AquaChanneOne 4 жыл бұрын
Спасибо большое! А как прикрутить шифрование пароля? Есть видео об этом?
@AquaChanneOne
@AquaChanneOne 4 жыл бұрын
А ещё сделай, пожалуйста, код обновления токена 🐶🐶🐶
@alexander.shakhov
@alexander.shakhov 4 жыл бұрын
как насчет реакта и спринга?)
@user-kh8bz8ct9p
@user-kh8bz8ct9p 2 жыл бұрын
8 месяцев прошло, а новой части нет(
@Lol-cu9mq
@Lol-cu9mq 3 жыл бұрын
КАК СДЕЛАТЬ "/logout" ПОДСКАЖИТЕ ПОЖАЛУЙСТА
@kiseru6128
@kiseru6128 2 жыл бұрын
Если для токена, то никак. В других случаях читайте документацию docs.spring.io/spring-security/reference/servlet/authentication/logout.html
@mzikrullaev627
@mzikrullaev627 3 жыл бұрын
LetsCode пропал? Или как?
@СергейЧубуров
@СергейЧубуров 2 жыл бұрын
Добавьте плиз карту сбера для донатов! А то у палки и киви комиссия конская, с яндексом геморрой
@kiseru6128
@kiseru6128 2 жыл бұрын
AuthenticationManager::authenticate можно и лучше написать. Слишком намудрил.
@vianeyvargas7736
@vianeyvargas7736 Жыл бұрын
Thank you for this video, and can you create another video implementing Audit in the domain models or entities? ie: @CreatedDate, @LastModifiedDate, @CreatedBy Please
@Lolikon929
@Lolikon929 3 жыл бұрын
Большое спасибо
🔒WebFlux. Spring Security
19:06
letsCode
Рет қаралды 15 М.
JWT. Часть 1. Теория
15:50
JavaScript.Ninja
Рет қаралды 157 М.
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН
JMX - админка на минималках
22:17
letsCode
Рет қаралды 16 М.
Основы работы с Spring Security
1:56:11
Eugene Suleimanov
Рет қаралды 144 М.
Простой HTTP сервер. #1
24:22
letsCode
Рет қаралды 28 М.
Кирилл Толкачёв и Егений Борисов - Reactive или не reactive, вот в чем вопрос
1:05:56
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 42 М.
Онлайн игра на Java #1: управление
25:14
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН