Аутентификация и авторизация в .NET Core на базе JWT + Angular 9

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 พ.ย. 2024

ความคิดเห็น • 48

  • @gar_07
    @gar_07 10 หลายเดือนก่อน

    После этого видео, где всё достаточно подробно описано, но только по делу, без лишней воды, хочется только выразить благодарность автору. У такого хорошего подхода к гайдам должно быть больше просмотров!

  • @adrenalinea953
    @adrenalinea953 4 ปีที่แล้ว +9

    Спасибо за проделанный труд! Всё прекрасно преподнесено.

  • @МагжанБекетов-л6е
    @МагжанБекетов-л6е 4 ปีที่แล้ว +5

    Один из редких каналов , где есть годные уроки ! Благодарю вас за труд!

  • @valeriiladan8532
    @valeriiladan8532 2 ปีที่แล้ว

    Вогонь! Чудовий відос

  • @1654045
    @1654045 2 ปีที่แล้ว

    всё по делу и без воды. подписка + колокольчик и спасибо.

  • @ppc2012
    @ppc2012 4 ปีที่แล้ว +3

    Очень понравилось, спасибо вам большое!

  • @dr.deckto518
    @dr.deckto518 ปีที่แล้ว

    Чел гений, просто рекомендую для просмотра, хотя бы поймете, как вытягивать id из Claims

  • @inatovrustam
    @inatovrustam 3 ปีที่แล้ว

    Спасибо большое. Отличный урок.

  • @Evgeniy19856
    @Evgeniy19856 3 ปีที่แล้ว

    Отличный урок! Спасибо!

  • @ИльяЗанегин-й1и
    @ИльяЗанегин-й1и 3 ปีที่แล้ว

    Отличное видео. Спасибо!

  • @aleksandrsavkin858
    @aleksandrsavkin858 2 ปีที่แล้ว

    Спасибо, супер.

  • @WalliDO
    @WalliDO 2 ปีที่แล้ว

    Спасибо большое за видео. Можно задать вам такой вопрос, как в сервисе который предоставляет данные в swagger добавить поле для ввода токена?

  • @mamontoff3276
    @mamontoff3276 4 ปีที่แล้ว

    Спасибо!
    Лайк :)

  • @ериперн
    @ериперн ปีที่แล้ว +1

    .AddJwtBearer( в ресурсном сервере там что то не то, 401 постоянно выдает. Все сделал пошагово как в видео, сравнить с Гитом нельзя так как нет ссылки

  • @diatm1506
    @diatm1506 2 ปีที่แล้ว

    Спасибо а с refresh token-ом будет?

  • @zodchiygigas6098
    @zodchiygigas6098 3 ปีที่แล้ว +5

    С одной стороны отличная тема и спасибо за труд, а вот с другой стороны, качество 3 из 5, все смешано в кучу, если самому не разгребать и не додумывать за лектором, то проект не скомпилится и нормально не заработает, нет, я понимаю сейчас хейтеры набегут и начнут, тебе что, все разжевать и положить в рот надо? Но блин, урок просто кишмя кишит банальными ошибками, пример: Token в коде сервиса имеет тип который до этого сделали в папке models/token, но в сервисе тащим тип токена из @angular/compiler/src/ml_parser/lexer, только вот у этого типа нет access_token, опачки. Два типа с одним названием, и если сделать так как в видео, ничего работать не будет. В @auth0/angular-jwt нет никакого whitelisteddomains, есть только allowedDomains и прочее, я даже не говорю про хеширование пароля на стороне сервера. Можно же было не кастомно сделать, а например показать пример с Asp net Identity + EF, урок бы занял бы больше минут на 5, но работал бы.

  • @theylovedior
    @theylovedior 3 ปีที่แล้ว +3

    вроде и норм урок, но громадные куски кода которые вставляются в части с ангуляром выбесили

  • @УльянаМатюкова-щ6ю
    @УльянаМатюкова-щ6ю 2 ปีที่แล้ว

    Почему не показано более подробно, как работать с PostMan :(

  • @Dok725
    @Dok725 3 ปีที่แล้ว

    Отлично, спасибо большое, эх еще бы чуточку крупнее

  • @koral197
    @koral197 3 ปีที่แล้ว +3

    Вопрос. А зачем отдельный сервер для аутентификации/авторизации?

    • @Evgeniy19856
      @Evgeniy19856 3 ปีที่แล้ว +1

      Это принцип микросервисной архитектуры.

    • @zodchiygigas6098
      @zodchiygigas6098 3 ปีที่แล้ว

      @@Evgeniy19856 в принципах микросервисной архитектуры также есть еще один пункт, об инкапсуляции данных в каждом сервисе, у каждого сервиса свой набор данных, а тут два сервиса будут работать с одними и теми-же данными, пользователями, что явно нарушает принцип микросервисной архитектуры. Но кто спорит.

    • @ериперн
      @ериперн ปีที่แล้ว

      @@zodchiygigas6098 класс AuthOptions в общая dll отдельной, юзают вместе

  • @DeMoniaqGRANI
    @DeMoniaqGRANI 4 ปีที่แล้ว +2

    Спасибо конечно, но не работает: ERROR in src/app/services/auth.service.ts:27:7 - error TS2304: Cannot find name 'tap'.

    • @mrshk_vv
      @mrshk_vv 4 ปีที่แล้ว

      webdraftt.com/tutorial/rxjs/tap в помощь

    • @MrAirnya
      @MrAirnya 3 ปีที่แล้ว +1

      import { tap } from 'rxjs/operators';
      Еще одну вещь заметил, когда он сам пишет, не ставит ;
      когда копипастит код, ; стоит))

  • @ериперн
    @ериперн 2 ปีที่แล้ว

    Не могу понять, у меня контроллер API метод 404 ошибку вызывает, конструктор в классе контроллера не работает

    • @kipgrow9021
      @kipgrow9021 2 ปีที่แล้ว

      У тебя скорее всего был прописан неправильный URL к методу контроллера. Перепроверь его и попробуй снова

  • @xelaksal6690
    @xelaksal6690 4 ปีที่แล้ว

    Скиньте плиз ссылку на статью о шифровании.

  • @markfull207
    @markfull207 2 ปีที่แล้ว

    34:42 ошибка в return ts(2322) и все зделал как на видео

  • @ebaysher572
    @ebaysher572 2 ปีที่แล้ว

    33:40 как таr получается что в jwtconfig'e нет такого свойства как whitelisteddomains, а у него есть? из за того что 9 ангуляр?

    • @kipgrow9021
      @kipgrow9021 2 ปีที่แล้ว +1

      Если еще актуально для кого-то:
      JwtModule.forRoot({
      config:{
      tokenGetter,
      allowedDomains: environment.tokenWhitelistedDomains
      }
      })

  • @ttxttx1177
    @ttxttx1177 3 ปีที่แล้ว

    Почему все созданные проекты без hhtps?

  • @xelaksal6690
    @xelaksal6690 4 ปีที่แล้ว

    В не которых заведениях это почти готовый курсач)

  • @sprataslavia
    @sprataslavia 2 ปีที่แล้ว

    refresh token ?

  • @vitaliytyu3723
    @vitaliytyu3723 2 ปีที่แล้ว

    А как оба api понимают о существовании друг друга?

    • @sergeypetroff3904
      @sergeypetroff3904 2 ปีที่แล้ว

      Они не знают о друг друге, токен получает и отсылает клиентская часть на ангуляре.

    • @yevhenkyniev4318
      @yevhenkyniev4318 ปีที่แล้ว

      аутапи генерирует и подписывает токен, русурсапи проверяет его валидность через подпись, поэтому важно чтобы ключи были одинаковые на обоих апи

  • @EdikTVSet
    @EdikTVSet 3 ปีที่แล้ว +12

    Что ж, я просмотрел это видео, оно мне очень помогло, но его нужно по-хорошему переснять и вот почему
    • Монтаж тут явно лишний: меня драконило, когда спикер заходит в пустой класс, а через 0.1 секунду там уже заполненный код. Я понял, зачем это было сделано, но перестарался автор. Лучше ускорить процесс написания кода, сделав некий тайм-лапс, но не делайте так, пожалуйста. Если с кодом дела ещё куда ни шли, то когда перешли в ангуляр... это было невыносимо. Тот случай, когда монтаж чуть не убил урок.
    • Показывайте, какие используются библиотеки. Если с бэком проблем не возникло, то с ангуляром мучался. Автор как всегда пропустил процесс написания кода, показал готовое, но не учёл, что нужно библиотеки показать, ведь они сменились, например, у меня не было функции tap, я не мог её никак найти, пока не загуглил, где она находится эта функция, и не подключил её импортом. Разве сложно было этот момент показать? Там ещё один момент был неприятный, когда автор допустил ошибку, потом это перескакивание, и ошибки нет. Уже не припомню этот момент, но основная мысль: не нужно пытаться максимально сократить видео. Пусть это будет не 40 минут, а 140, но где ничего, ни малейшей детали за кадром не происходит.
    • Автор лишь под конец видео сказал, что ожидает от меня знаний ангуляра. А раньше никак нельзя было предупредить, что для просмотра этого видео автор ожидает от зрителя таких-то знаний?
    • Если всё вышеописанное было, как я считаю, объективно, то субъективно от меня: можно интонацию менять, а то даже конец урока прозвучал, как очередное действие.
    P.S. Я не хейтер, урок мне реально очень помог и даже при всех неудобствах, он чуть ли не самый лучший из всех. Я просто сказал, как сделать его лучше.

    • @inatovrustam
      @inatovrustam 3 ปีที่แล้ว +2

      Столкнулся с теми же проблемами. Так же не нашел где мы добавляем интерцептор на инициализацию Authorization Header'a в angular'e.
      Но в целом. Спасибо за видео!

    • @SergeyMenshov
      @SergeyMenshov 3 ปีที่แล้ว

      Да, уж... ) Это наверное самые долгие 10 минут в моей жизни (интересовал только Angular).
      Но все равно автору большое спасибо! Информация очень полезная! Странно, что для такой распространенной задачи, как JWT-авторизация в интернете так мало хороших примеров.
      Интерцепторы сделал свои (один для внедрения токена в заголовок и второй для обработки ошибки 401 и 403). Проверять время истечения токена на клиенте считаю не совсем правильным (да и сервер лучше с этим справится), т.к. у каждого клиента свое локальное время, а на сервере свое время, а как по простому получить UTC время на клиенте я не нашел.

  • @СавелийГлистов
    @СавелийГлистов 3 ปีที่แล้ว

    Когда я вижу чёрную тему в редакторе кода, сразу хочется кинуть тапок в монитор и бежать... Как будто я опять в 90-х с дискет устанавливаю Виндовс 3.1. У вас ностальгия по 90-ым?

    • @seanwoo3791
      @seanwoo3791 3 ปีที่แล้ว +3

      Если тебе охото садить зрение и сжигать глаза то пожалуйста, используй белую тему

    • @ram8480
      @ram8480 ปีที่แล้ว +1

      Когда стоит белая тема, у меня ощущение, что я смотрю на лампу

  • @liko8019
    @liko8019 3 ปีที่แล้ว

    самый ужасный канал

  • @dimadancev714
    @dimadancev714 2 ปีที่แล้ว

    Спасибо! На Angular 14 работает. whitelisteddomains - сейчас это allowedDomains. Token in AuthService - import { Token } from '../models/token';