А зачем пихать токен в кукки? Если как раз одна из уязвимостей которые закрывает JWT token -> CSRF. В твоем случае. ты просто опять открываешь эту уязвимость. Зачем? Как по мне не логично. Вроде бы как JWT Token не должен быть у Кукки. он специально и храниться где то в локал сторе клиента
Огромное спасибо за видео. Для меня это теперь любимый сериал. Везде включил уведомления, как только дропается новая серия бегу смотреть и практиковаться. Я вам очень благодарен!!!!
У тебя отличный контент, продолжай и не забрасывай ! Один из лучших ютуберов на русском ютубе по ASP. Мне показалось странно, что ты определил Entities в слое с бд, не видел такой практике. Обычно определяю в core
Бро у тебя реально круто получается. Подача суперская. Продолжай. Но если будет время сделай также видео по Identity, Task, Concurency, многопоточность. Можно еще работу с RabbitMq. А также видео на тему: "Вопросы на собеседования для Junior-Middle" думаю отлично зайдет. Очень мало хорошего ресурса
Спасибо за видео! Вопрос: условно я сделал API одним проектом и сервис аутентификации и авторизации другим (далее - АА). Добавил в API на некоторые методы атрибут [Authorize], будет ли токен доступа из АА валидным для API?
Какой способ Аутентификации Core Entity используется по умолчанию? Во вновь созданном проекте с аутентификации в StartUp нет подключения сервиса ни кук, ни токенов... Но верификация работает. Значит это описано где-то в библиотеке Identity. Так какой способ по умолчанию (cooke или JWT) и можно ли его поменять?
Здравствуй. А не нужно ли в данном случае дополнительно организовать получение второго токена для обновления основного, когда его время жизни закончится?
у меня ни в какую не хотела работать аутентификация. В консоли Логгер писал "Bearer was challenged". Решение оказалось простым: поместить вызов UseAuthentication перед UseAuthorization, а не наоборот. Надеюсь кому-нибудь сэкономит время
Куда большая проблема у вас с непониманием (UseAuthentication, Use...). Посмотрите и подучите жизненный цикл приложения и запросов в asp net core. А так же тему Middleware. Потому что там порядок критически важен и нужно понимать что этими Use формируется порядок куда будет попадать ваш запрос последовательно от Middleware к Middleware.
Благодарю за качественную подачу материала. А если пользователь будет логинится с разных браузеров, как это реализовать, ну и соответственно logout и logout_all?
@@hilton8370 Токен отправляется в cookie, и клиент оттуда забирает token, и в дальнейшем к запросам прикладывает его. Но также можно отдельно в response положить данные, которые нужны клиенту.
а у меня ничего не получается, я так понимаю это из-за того, что нужно как-то зарегистрировать autoMapper в DI, но я не могу понять вообще что нужно сделать для этого
Мой тг канал - t.me/sachkov_blog
А зачем пихать токен в кукки? Если как раз одна из уязвимостей которые закрывает JWT token -> CSRF. В твоем случае. ты просто опять открываешь эту уязвимость. Зачем? Как по мне не логично. Вроде бы как JWT Token не должен быть у Кукки. он специально и храниться где то в локал сторе клиента
Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого почаще?
Extreme Kirill TV
Ну и как бы если я какой-то видос до конца досматриваю, то никогда не поленюсь поставить лайк
Огромное спасибо за видео. Для меня это теперь любимый сериал. Везде включил уведомления, как только дропается новая серия бегу смотреть и практиковаться. Я вам очень благодарен!!!!
Делай пожалуйста больше про асп нет кор и си шарп. Ты один из единственных кого реально интересно смотреть в сфере си шарпа и фулл веба
Контент и подача - пушка!
Все четко, структурировано и без воды, спасибо!
Я очень счастлив , что нашел твой канал . Спасибо большое ! Отличное обьяснение и подача !
Спасибо
Единственный СНГШНЫЙ адекватный канал по dotnet урокам. Хотелось бы в будущем увидеть уроки и по MAUI, blazor)
Спасибо за видео. Хотелось бы репозиторий, без этого сложновато в наш цифровой век)
Братан, хорош, давай, давай вперед! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого почаще?
Это очень хороший урок. нужно больше, гораздо больше )))
Круто, хотелось бы также увидеть полную аутентификацию с генерацией рефреш токена, а то без него вход в систему (
Спасибо тебе огромное. Здесь и про хэш есть👍👍👍
У тебя отличный контент, продолжай и не забрасывай ! Один из лучших ютуберов на русском ютубе по ASP. Мне показалось странно, что ты определил Entities в слое с бд, не видел такой практике. Обычно определяю в core
Спасибо! Доменные модели в core, а модели для бд в persistence
Очень хорошие видео делаешь. Буду следить когда сделаешь видео про рефреш токены
Ого, спасибо, как по заказу.
Кирил, уроки нравятся. Можно узнать когда ещё будут?
Круто, ждем реализацию с refresh токеном :)
Бро у тебя реально круто получается. Подача суперская. Продолжай. Но если будет время сделай также видео по Identity, Task, Concurency, многопоточность. Можно еще работу с RabbitMq. А также видео на тему: "Вопросы на собеседования для Junior-Middle" думаю отлично зайдет. Очень мало хорошего ресурса
Урок топ! Всё получилось, от души бро, но конструктор пиши всегда первым =)0))0
в такие моменты бы репозиторий, а то видос поглядел и хочется что-то повторить, но приходится искать
спасибо за контент
Кирюха! Респект!
Было бы классно, если бы ты сделал видео с объяснением разницы между Controllers и Minimal API, и в каких ситуациях лучше то или иное = )
Желай пожалуйста тоже разборы кодов сайта с нуля.
Или допустим создание полноценного сайта с нуля(допустим магаз одежды с скл)
Именно на асп нет кор
Спасибо за видео!
Ещё было бы здорово если б ссылку на гит оставлял
Круто. Спасибо за обучение
Про PasswordSalt тоже стоит знать и рассказать.
Спасибо! Очень дельно
Давай видео про слои приложения + видео про авторизацию + про рефреш токен
Thank you very much, helpful video bratan!
Годно!
Было бы круто, если бы ты прикладывал ссылку на Гит кодом проекта
Это что, адекватные уроки разработки на ютубе??!?😳😱
Всё классно, спасибо!
Скажи, пожалуйста, можно где-то исходник посмотреть?
Ждём следующее видео с refreshToken и авторизацию на примере двух ролей user & admin
Спасибо за видео! Вопрос: условно я сделал API одним проектом и сервис аутентификации и авторизации другим (далее - АА). Добавил в API на некоторые методы атрибут [Authorize], будет ли токен доступа из АА валидным для API?
Хорошо объясняешь
Спасибо за видео
Делай больше коноента на си шарпе пожалуйста ❤
Какой способ Аутентификации Core Entity используется по умолчанию? Во вновь созданном проекте с аутентификации в StartUp нет подключения сервиса ни кук, ни токенов... Но верификация работает. Значит это описано где-то в библиотеке Identity. Так какой способ по умолчанию (cooke или JWT) и можно ли его поменять?
Можно ссылку на проект?😅
Здравствуй.
А не нужно ли в данном случае дополнительно организовать получение второго токена для обновления основного, когда его время жизни закончится?
у меня ни в какую не хотела работать аутентификация. В консоли Логгер писал "Bearer was challenged". Решение оказалось простым: поместить вызов UseAuthentication перед UseAuthorization, а не наоборот. Надеюсь кому-нибудь сэкономит время
Куда большая проблема у вас с непониманием (UseAuthentication, Use...). Посмотрите и подучите жизненный цикл приложения и запросов в asp net core. А так же тему Middleware. Потому что там порядок критически важен и нужно понимать что этими Use формируется порядок куда будет попадать ваш запрос последовательно от Middleware к Middleware.
та же фигня! Чуть не проклял автора, пока делал, а тут оказалось вот в чем вопрос!
Хотелось бы узнать почему record используешь а не class контрактах
У record синтаксис удобнее, у контрактов нет логики, поэтому удобно объявлять поля у record
правильно ли я понимаю, что доступ к базе идет исключительно от одного пользователя?
Не до конца понял как токен валидируется при попытке аутентификации? Гдето хранятся выданные ключи ?
Топчик 👍
Благодарю за качественную подачу материала. А если пользователь будет логинится с разных браузеров, как это реализовать, ну и соответственно logout и logout_all?
Честно, не реализовывал логаут с нескольких браузерах, нужно конкретно смотреть и тестить
Огромное спасибо за видео. Do you have a source code on GitHub or elsewhere?
github.com/playvirtul/super-duper-journey/tree/main/LearningPlatform
@@SachkovTech Spasibo!
@@SachkovTech Spasibo!
про refresh token будет видео?
Может быть
А как мы при логине будем получать данные пользователя для фронта ?
Можно просто вернуть ответ от бэка с данными, которые тебе нужно
@@SachkovTech т.е мы вместо токена в логине отправляем данные
@@hilton8370 Токен отправляется в cookie, и клиент оттуда забирает token, и в дальнейшем к запросам прикладывает его. Но также можно отдельно в response положить данные, которые нужны клиенту.
спасибо за видео
но у тебя код постоянно меняется, модифицируется дополняется без информации в ролике...
а у меня ничего не получается, я так понимаю это из-за того, что нужно как-то зарегистрировать autoMapper в DI, но я не могу понять вообще что нужно сделать для этого
Причём тут автомаппер вообще, он тебе зачем и как он к аутентификации относится
Мне выдает ошибку, что DI контейнер не может найти сервис AutoMapper.IMapper, который нужен для создания экземпляра UsersRepository
@@SachkovTech я все же додумался, что можно автомаппер просто убрать, потом пару мест еще потупил, но в итоге все работает, ура))
Что за тема для visual studio?
Дефолтная
Как шифровать данные payload моего токена, и использовать TokenDecryptionKey для расшифвроки
stackoverflow.com/questions/18223868/how-to-encrypt-jwt-security-token
Отличное объяснение. Для меня одна из самых затычных тем
Спасибо
А почему не используешь Identity API???
Потому что многие решения требуют кастомной аутентификации и авторизации
конструктор пишется сверху. Прогрузка идет снизу вверх
Хахахаххаа
@@SachkovTech ну кому "хаха", а разрабы microsoft пишут конструктор сверху💁♂
Грамотная речь. Сколько тебе лет?
21
@@SachkovTech ты мидл?
Да
Либо просто использовать нормальное шифрование, на базе бесплатного LetsEncrypt
спс слоняра