Офигеть какой полезный контент по такой тяжелой теме. Придется пересматривать не один раз, чтобы так же быстро все понимать. Отдельное спасибо за демонстрацию для реактива!
@omonullo9 ай бұрын
Не смотрел. Просто лайк за труд. Сейчас уже начну смотреть 😊
@ВладимирМаксимов-д1з9 ай бұрын
Спасибо большое за качественно изложенный материал и Ваш труд
@Hocorend6 ай бұрын
Супер урок, впервые попал на канал, ощущение, что нашел золото в интернете xD Теперь я понял, что надо и другие ролики посмотреть
@vital7089 ай бұрын
Лайк сразу. Имею пару лет коммерческого опыта, но смотря ваши видео понимаю, что я очень многого не знаю и как минимум на вашем канале есть огромное пространство для саморазвития, это круто. Спасибо ))
@kolakolia20509 ай бұрын
Нравится звук клавиатуры, слышно работу поограммиста!
Спасибо большое за ролик ! Вопрос: как стать таким же крутым ? Постоянна практика + чтение доки и книг ? Либо надо IQ > 120 ?
@shurik_codesАй бұрын
Чтение документации, книг, статей, применение на практике с последующим анализом, ну и IQ тоже полезен будет)
@AlexSmile-y2x9 ай бұрын
Мега полезный материал! Нереально крутой спец и видео подготовлено великолепно. Спасибо! Попробую разобраться, почему в реактивном варианте не настраивается проверка как скоупа, так и роли)
@shurik_codes9 ай бұрын
Да настраивается она там, но там получается очень весёлый порядок действий получается, реактивный) Возможно, я не нашёл нужный компонент
@devprototype9 ай бұрын
Спасибо за видео! 31:40 stateless session creation policy нужно было ставить?
@shurik_codes9 ай бұрын
По идее надо, но в реактивных API это делается при помощи http.securityContextRepository(NoOpServerSecurityContextRepository.getInstance())
@paradiesd9 ай бұрын
Привет, очень полезное видео, спасибо большое Подскажи пожалуйста, как часто вызывается oidcUserService ? при каждом запросе или нет?
@shurik_codes9 ай бұрын
При аутентификации, после - создаётся HTTP-сессия и данные пользователя сохраняются в ней
@paradiesd9 ай бұрын
@@shurik_codes спасибо огромное
@ПВ211ТищенкоДаниил8 ай бұрын
Привет, очень просим подробнее про настройку безопасности в Spring Boot и logout в Keycloak'e, ибо при логауте пользователь остается аутентифицированным, как это исправить в интернете не нахожу
@a.kondratenko8 ай бұрын
Спасибо за материал! Пересмотрел уже десятки видео на канале. Видео, благодаря качеству материала и подаче, получаются просто бесценными! Можете подсказать, какие-то отличия в реализации есть, если в роле клиента будет android-приложение?
@shurik_codes8 ай бұрын
Нет, отличий не будет, android-приложение будет клиентом без client secret, поэтому желательно использовать grant_type=authorization_code с PKCE.
@a.kondratenko8 ай бұрын
@shurik_codes Спасибо за фидбек! Буду разбираться. Тогда я бекенд делаю просто защищенным с помощью кейклока, а фронт-приложение делаю клиентом, который будет бегать в кейклок за токеном для юзера
@KakoitoTam8 ай бұрын
Спасибо за видео, а такой вопрос если в связке oauth2(client/server)-jwt надо валидировать токен. к примеру не аунтифицированных отправлять в keycloack не авторизованных на микросервис авторизации и тд как и где это реализовать лучше, хотелось бы библиотеку
@shurik_codes8 ай бұрын
Ну, токен и так валидируется, как на стороне клиента (при логине), так и на стороне сервера ресурсов. Перенаправление на страницу авторизации есть при OAuth логине, а на стороне сервера ресурсов в нём нет смысла, т.к. пользователь напрямую не взаимодействует с сервером ресурсов, это делает клиент - приложение или другой сервис.
@KakoitoTam8 ай бұрын
Спасибо большое за ответ! Сейчас разрабатываем security service никто не сталкивался раньше. И мне сегодня поступила задача сделать библиотеку которая валидирует токен.и хотелось бы ее переиспользовать в других будущих микросервисах. Я так понял в кейклок у нас будет аунтефикация, в ресурсом сервисе авторизация(в процессе еще oauth2 подключать).Видимо (из Вашего ответа) мне надо просто написать клиентскую часть. библиотека которая редиректит если не аунтефицирован или не авторизован или токен протух то иди в автори сервис к примеру. Я так понял отдельный класс с кучей if лучше не делать, сейчас смотрю как раз про Oauth2AutorizedClient Manager --это там можно все сделать?) Сейчас как раз смотрю ваши видео, лучше по security нету следующие про jwt токены буду смотреть.@@shurik_codes
@ram09733 ай бұрын
А со спринговым сервером авторизации нет видео, что-то не нашёл?
@shurik_codes3 ай бұрын
Пока нет
@Boraldan8 ай бұрын
Спасибо! Такой вопрос: если мы используем Spring Cloud Eureka server, client, gateway - то OAuth2 client куда лучше внедрят front или gateway?
@shurik_codes8 ай бұрын
Не совсем понятна схема взаимодействия. Если брать Eureka Server и Client, то Server - OAuth 2.0 Resource Server, а Client - OAuth 2.0 Client
@lifewinsful8 ай бұрын
@@shurik_codes тут, вопрос, наверное, о том, где лучше имплементировать oauth2 - на фронте или на gateway
@shurik_codes8 ай бұрын
Если честно, то яснее не стало) В OAuth 2.0 предусмотрено две основные роли: клиент (приложение, обращающееся к защищённым ресурсам) и сервер ресурсов (приложение, содержащее защищённые данные). Фронт в моём понимании - это какое-то клиентское приложение (нативное или веб), а шлюз (gateway) - по сути входная точка и маршрутизатор запросов к бекендам. Можно ли сделать OAuth-клиентом шлюз? В теории - да, можно, если предоставление полномочий реализуется при помощи учётных данных клиента (grant_type=client_credentials). В этой ситуации фронт обращается к шлюзу, шлюз получает ключ доступа и добавляет его в заголовки при маршрутизации запроса к бекенду. Вопрос аутентификации и авторизации клиента остаётся открытым. Можно ли сделать шлюз сервером ресурсов OAuth? Опять же, да, можно, но на стороне бекендов не будет информации о конечном пользователе, если её только не пробрасывать какими-то окольными путями. Но оба варианта предполагают внесение изменений в шлюз, что само по себе не совсем удобно - т.к. вариантов тут много (Spring Cloud Gateway, k8s ingress, isio и т.д.) Наиболее логично на мой взгляд делать фронт OAuth-клиентом, а бекенд - сервером ресурсов, и не включать в схему авторизации шлюз.
@Boraldan8 ай бұрын
@@shurik_codes спасибо, Александр. Буду разбираться.
@АртемФедоров-р4ч8 ай бұрын
Привет, каким линуксом пользуешся ?
@shurik_codes8 ай бұрын
Linux Mint
@ratmirv3 ай бұрын
Здравствуйте, подскажите пожалуйста. Пытаюсь настроить OAuth2 через Google для аутентификации и регистрации пользователей. В доке написано, чтобы настроить "post-handling of the UserInfo Response", нужно переопределить OidcUserService. В вашем примере вы преобразовали список прав в этом месте. @Bean public OAuth2UserService oidcUserService() {} Правильно ли я понимаю, что я могу в этом же месте добавить логику по регистрации нового пользователя(добавлению в базу данных), извлекая все нужные поля из объекта OidcUser?