После этого видео, где всё достаточно подробно описано, но только по делу, без лишней воды, хочется только выразить благодарность автору. У такого хорошего подхода к гайдам должно быть больше просмотров!
С одной стороны отличная тема и спасибо за труд, а вот с другой стороны, качество 3 из 5, все смешано в кучу, если самому не разгребать и не додумывать за лектором, то проект не скомпилится и нормально не заработает, нет, я понимаю сейчас хейтеры набегут и начнут, тебе что, все разжевать и положить в рот надо? Но блин, урок просто кишмя кишит банальными ошибками, пример: Token в коде сервиса имеет тип который до этого сделали в папке models/token, но в сервисе тащим тип токена из @angular/compiler/src/ml_parser/lexer, только вот у этого типа нет access_token, опачки. Два типа с одним названием, и если сделать так как в видео, ничего работать не будет. В @auth0/angular-jwt нет никакого whitelisteddomains, есть только allowedDomains и прочее, я даже не говорю про хеширование пароля на стороне сервера. Можно же было не кастомно сделать, а например показать пример с Asp net Identity + EF, урок бы занял бы больше минут на 5, но работал бы.
@@Evgeniy19856 в принципах микросервисной архитектуры также есть еще один пункт, об инкапсуляции данных в каждом сервисе, у каждого сервиса свой набор данных, а тут два сервиса будут работать с одними и теми-же данными, пользователями, что явно нарушает принцип микросервисной архитектуры. Но кто спорит.
Что ж, я просмотрел это видео, оно мне очень помогло, но его нужно по-хорошему переснять и вот почему • Монтаж тут явно лишний: меня драконило, когда спикер заходит в пустой класс, а через 0.1 секунду там уже заполненный код. Я понял, зачем это было сделано, но перестарался автор. Лучше ускорить процесс написания кода, сделав некий тайм-лапс, но не делайте так, пожалуйста. Если с кодом дела ещё куда ни шли, то когда перешли в ангуляр... это было невыносимо. Тот случай, когда монтаж чуть не убил урок. • Показывайте, какие используются библиотеки. Если с бэком проблем не возникло, то с ангуляром мучался. Автор как всегда пропустил процесс написания кода, показал готовое, но не учёл, что нужно библиотеки показать, ведь они сменились, например, у меня не было функции tap, я не мог её никак найти, пока не загуглил, где она находится эта функция, и не подключил её импортом. Разве сложно было этот момент показать? Там ещё один момент был неприятный, когда автор допустил ошибку, потом это перескакивание, и ошибки нет. Уже не припомню этот момент, но основная мысль: не нужно пытаться максимально сократить видео. Пусть это будет не 40 минут, а 140, но где ничего, ни малейшей детали за кадром не происходит. • Автор лишь под конец видео сказал, что ожидает от меня знаний ангуляра. А раньше никак нельзя было предупредить, что для просмотра этого видео автор ожидает от зрителя таких-то знаний? • Если всё вышеописанное было, как я считаю, объективно, то субъективно от меня: можно интонацию менять, а то даже конец урока прозвучал, как очередное действие. P.S. Я не хейтер, урок мне реально очень помог и даже при всех неудобствах, он чуть ли не самый лучший из всех. Я просто сказал, как сделать его лучше.
Столкнулся с теми же проблемами. Так же не нашел где мы добавляем интерцептор на инициализацию Authorization Header'a в angular'e. Но в целом. Спасибо за видео!
Да, уж... ) Это наверное самые долгие 10 минут в моей жизни (интересовал только Angular). Но все равно автору большое спасибо! Информация очень полезная! Странно, что для такой распространенной задачи, как JWT-авторизация в интернете так мало хороших примеров. Интерцепторы сделал свои (один для внедрения токена в заголовок и второй для обработки ошибки 401 и 403). Проверять время истечения токена на клиенте считаю не совсем правильным (да и сервер лучше с этим справится), т.к. у каждого клиента свое локальное время, а на сервере свое время, а как по простому получить UTC время на клиенте я не нашел.
Когда я вижу чёрную тему в редакторе кода, сразу хочется кинуть тапок в монитор и бежать... Как будто я опять в 90-х с дискет устанавливаю Виндовс 3.1. У вас ностальгия по 90-ым?
После этого видео, где всё достаточно подробно описано, но только по делу, без лишней воды, хочется только выразить благодарность автору. У такого хорошего подхода к гайдам должно быть больше просмотров!
Спасибо за проделанный труд! Всё прекрасно преподнесено.
Один из редких каналов , где есть годные уроки ! Благодарю вас за труд!
Вогонь! Чудовий відос
всё по делу и без воды. подписка + колокольчик и спасибо.
Очень понравилось, спасибо вам большое!
Чел гений, просто рекомендую для просмотра, хотя бы поймете, как вытягивать id из Claims
Спасибо большое. Отличный урок.
Отличный урок! Спасибо!
Отличное видео. Спасибо!
Спасибо, супер.
Спасибо большое за видео. Можно задать вам такой вопрос, как в сервисе который предоставляет данные в swagger добавить поле для ввода токена?
Спасибо!
Лайк :)
.AddJwtBearer( в ресурсном сервере там что то не то, 401 постоянно выдает. Все сделал пошагово как в видео, сравнить с Гитом нельзя так как нет ссылки
Спасибо а с refresh token-ом будет?
С одной стороны отличная тема и спасибо за труд, а вот с другой стороны, качество 3 из 5, все смешано в кучу, если самому не разгребать и не додумывать за лектором, то проект не скомпилится и нормально не заработает, нет, я понимаю сейчас хейтеры набегут и начнут, тебе что, все разжевать и положить в рот надо? Но блин, урок просто кишмя кишит банальными ошибками, пример: Token в коде сервиса имеет тип который до этого сделали в папке models/token, но в сервисе тащим тип токена из @angular/compiler/src/ml_parser/lexer, только вот у этого типа нет access_token, опачки. Два типа с одним названием, и если сделать так как в видео, ничего работать не будет. В @auth0/angular-jwt нет никакого whitelisteddomains, есть только allowedDomains и прочее, я даже не говорю про хеширование пароля на стороне сервера. Можно же было не кастомно сделать, а например показать пример с Asp net Identity + EF, урок бы занял бы больше минут на 5, но работал бы.
вроде и норм урок, но громадные куски кода которые вставляются в части с ангуляром выбесили
Почему не показано более подробно, как работать с PostMan :(
Отлично, спасибо большое, эх еще бы чуточку крупнее
Вопрос. А зачем отдельный сервер для аутентификации/авторизации?
Это принцип микросервисной архитектуры.
@@Evgeniy19856 в принципах микросервисной архитектуры также есть еще один пункт, об инкапсуляции данных в каждом сервисе, у каждого сервиса свой набор данных, а тут два сервиса будут работать с одними и теми-же данными, пользователями, что явно нарушает принцип микросервисной архитектуры. Но кто спорит.
@@zodchiygigas6098 класс AuthOptions в общая dll отдельной, юзают вместе
Спасибо конечно, но не работает: ERROR in src/app/services/auth.service.ts:27:7 - error TS2304: Cannot find name 'tap'.
webdraftt.com/tutorial/rxjs/tap в помощь
import { tap } from 'rxjs/operators';
Еще одну вещь заметил, когда он сам пишет, не ставит ;
когда копипастит код, ; стоит))
Не могу понять, у меня контроллер API метод 404 ошибку вызывает, конструктор в классе контроллера не работает
У тебя скорее всего был прописан неправильный URL к методу контроллера. Перепроверь его и попробуй снова
Скиньте плиз ссылку на статью о шифровании.
34:42 ошибка в return ts(2322) и все зделал как на видео
33:40 как таr получается что в jwtconfig'e нет такого свойства как whitelisteddomains, а у него есть? из за того что 9 ангуляр?
Если еще актуально для кого-то:
JwtModule.forRoot({
config:{
tokenGetter,
allowedDomains: environment.tokenWhitelistedDomains
}
})
Почему все созданные проекты без hhtps?
В не которых заведениях это почти готовый курсач)
refresh token ?
А как оба api понимают о существовании друг друга?
Они не знают о друг друге, токен получает и отсылает клиентская часть на ангуляре.
аутапи генерирует и подписывает токен, русурсапи проверяет его валидность через подпись, поэтому важно чтобы ключи были одинаковые на обоих апи
Что ж, я просмотрел это видео, оно мне очень помогло, но его нужно по-хорошему переснять и вот почему
• Монтаж тут явно лишний: меня драконило, когда спикер заходит в пустой класс, а через 0.1 секунду там уже заполненный код. Я понял, зачем это было сделано, но перестарался автор. Лучше ускорить процесс написания кода, сделав некий тайм-лапс, но не делайте так, пожалуйста. Если с кодом дела ещё куда ни шли, то когда перешли в ангуляр... это было невыносимо. Тот случай, когда монтаж чуть не убил урок.
• Показывайте, какие используются библиотеки. Если с бэком проблем не возникло, то с ангуляром мучался. Автор как всегда пропустил процесс написания кода, показал готовое, но не учёл, что нужно библиотеки показать, ведь они сменились, например, у меня не было функции tap, я не мог её никак найти, пока не загуглил, где она находится эта функция, и не подключил её импортом. Разве сложно было этот момент показать? Там ещё один момент был неприятный, когда автор допустил ошибку, потом это перескакивание, и ошибки нет. Уже не припомню этот момент, но основная мысль: не нужно пытаться максимально сократить видео. Пусть это будет не 40 минут, а 140, но где ничего, ни малейшей детали за кадром не происходит.
• Автор лишь под конец видео сказал, что ожидает от меня знаний ангуляра. А раньше никак нельзя было предупредить, что для просмотра этого видео автор ожидает от зрителя таких-то знаний?
• Если всё вышеописанное было, как я считаю, объективно, то субъективно от меня: можно интонацию менять, а то даже конец урока прозвучал, как очередное действие.
P.S. Я не хейтер, урок мне реально очень помог и даже при всех неудобствах, он чуть ли не самый лучший из всех. Я просто сказал, как сделать его лучше.
Столкнулся с теми же проблемами. Так же не нашел где мы добавляем интерцептор на инициализацию Authorization Header'a в angular'e.
Но в целом. Спасибо за видео!
Да, уж... ) Это наверное самые долгие 10 минут в моей жизни (интересовал только Angular).
Но все равно автору большое спасибо! Информация очень полезная! Странно, что для такой распространенной задачи, как JWT-авторизация в интернете так мало хороших примеров.
Интерцепторы сделал свои (один для внедрения токена в заголовок и второй для обработки ошибки 401 и 403). Проверять время истечения токена на клиенте считаю не совсем правильным (да и сервер лучше с этим справится), т.к. у каждого клиента свое локальное время, а на сервере свое время, а как по простому получить UTC время на клиенте я не нашел.
Когда я вижу чёрную тему в редакторе кода, сразу хочется кинуть тапок в монитор и бежать... Как будто я опять в 90-х с дискет устанавливаю Виндовс 3.1. У вас ностальгия по 90-ым?
Если тебе охото садить зрение и сжигать глаза то пожалуйста, используй белую тему
Когда стоит белая тема, у меня ощущение, что я смотрю на лампу
самый ужасный канал
Спасибо! На Angular 14 работает. whitelisteddomains - сейчас это allowedDomains. Token in AuthService - import { Token } from '../models/token';