Спасибо за контент! Identity Server 4 с декабря 2022 года не поддерживается, а версии выше распространяются по платной лицензии. Планируете выпустить ролик с альтернативным решением, например OpenIddict? Или проще уже писать свои сервисы аутентификации, как в вашем примере по minimal api?=)
Здравствуйте! А каким образом в основном WebApi проекте получать расширенную информацию о пользователе, если сущность "AppUser" определена в отдельном решении? И как связывать пользователя с другими сущностями? Правильно ли я понимаю, что связь чисто через UserId производится?
Нет ощущения, что Identity на скорую руку сделан? Если для бизнес-контроллера была проделана значительная работа, добавлены мапперы и валидаторы, то здесь вообще всё влёгкую. Я просто сейчас столкнулся, что такая базовая авторизация нигде не применима. Ну да, мы можем авторизоваться, повызывать команды, но интегрировать то, что написано, практически невозможно. Да, понимаю, что учебный курс, но этот проект вообще в общую архитектуру всего приложения не встроен. Переписываю, курю мануалы... Не то, чтобы предъявляюю - просто захотел это отметить. В любом случае очень полезный материал для начинающего. Спасибо
А почему IdentityServer и авторизация были выделены в отдельный солюшен а не проект? Не удобнее ли держать все приложение в рамках одного солюшена и соответственно в рамках одного репозитория на гитхабе?
С какой-то стороны это концептуальное разделение как и многое в мире разработки.но если разобраться то это логично: IdentityServer содержит информацию о пользователях в своей бд, о клиентах, скоупах, ресурсах и тд. В качестве ресурсов могут выступать Web API, которых может быть несколько.и IdentityServer находится не в составе одного из них а отдельно. Также если по какой-то причине в будущем будет принято решение использовать другое решение для актентификации, то в коде Web API можно будет сделать изменения только на уровне конфигурации
Возникла проблема, после скачивания вашего проекта создался файл базы Platinum.Auth.db , но, у него в обозревателе решений нет иконки, только название и при попытке регистрации пишет: Microsoft.AspNetCore.Identity.UserManager[14] User password validation failed: PasswordRequiresLower. У меня NET 3.1, у вас кажется была другая весрия, может быть дело в этом? Буду очень вам благодарен, если поможете, это для сессии, задали
@@PlatinumTechTalks возник ещё один вопрос, скажем я хочу создать ещё один файл с названием Secret.cshtml, в который должно пускать после авторизации, если в login.cshtml я пишу: меня пытается кинуть в него, но говорит что кажется нет доступа, мне пришлось сделать данный файл публичным через: [HttpGet] public IActionResult Secret(string returnUrl) { var viewModel = new LogoutViewModel { ReturnUrl = returnUrl }; return View(viewModel); } в контроллере, теперь пускает, но и без авторизации пускает, как это исправить? Задал вопрос об этом вот тут ru.stackoverflow.com/questions/1392461/asp-net-core-%d0%b4%d0%be%d1%81%d1%82%d1%83%d0%bf-%d0%ba-%d1%84%d0%b0%d0%b9%d0%bb%d1%83 там есть скрины и листинги, возможно там вам будет удобнее ознокомиться
я бы назвал это видео "Боль, через которую нужно пройти в начале каждого проекта" )
Отличная идея! Похоже, нам нужен маркетолог для придумывания названий 😅
Если кто-то начинает сейчас делать, то ИдентитиСервер4 больше не поддерживается, обратите внимание на идентити сервер от Duende
Спасибо
Вопрос по названию таблиц: Как бы вы назвали таблицу с атрибутами:
User1, User2, User3. Следуя вашей логике, следует называть Userss(es)
Спасибо за контент! Identity Server 4 с декабря 2022 года не поддерживается, а версии выше распространяются по платной лицензии. Планируете выпустить ролик с альтернативным решением, например OpenIddict? Или проще уже писать свои сервисы аутентификации, как в вашем примере по minimal api?=)
Поддерживаю
Это опенсорс. Что мешает самому его поддерживать? Или от того что поддержка прекращена проект сразу умер?
А как переопределить формат ответа при ошибке ввода пароля скажем если используем грант тайп пассворд.
А что имеется в виду под переопределением формата ответа?
Здравствуйте!
А каким образом в основном WebApi проекте получать расширенную информацию о пользователе, если сущность "AppUser" определена в отдельном решении? И как связывать пользователя с другими сущностями? Правильно ли я понимаю, что связь чисто через UserId производится?
Думаю по claims - "туда можно засунуть все что хочешь"
Нет ощущения, что Identity на скорую руку сделан? Если для бизнес-контроллера была проделана значительная работа, добавлены мапперы и валидаторы, то здесь вообще всё влёгкую. Я просто сейчас столкнулся, что такая базовая авторизация нигде не применима. Ну да, мы можем авторизоваться, повызывать команды, но интегрировать то, что написано, практически невозможно. Да, понимаю, что учебный курс, но этот проект вообще в общую архитектуру всего приложения не встроен. Переписываю, курю мануалы... Не то, чтобы предъявляюю - просто захотел это отметить. В любом случае очень полезный материал для начинающего. Спасибо
А у тебя есть примеры получше? Я просто сейчас разбираюсь в этой теме и было бы интересно глянуть
a esli k ätomu serveru delaen soverschaen rabotu, DESK-TOP prilojenie?
datatracker.ietf.org/doc/html/draft-ietf-oauth-native-apps-09
А почему IdentityServer и авторизация были выделены в отдельный солюшен а не проект? Не удобнее ли держать все приложение в рамках одного солюшена и соответственно в рамках одного репозитория на гитхабе?
нет не удобнее, когда столкнешься с такой темой как CI/CD
@@МихаилИванов-м2э А можно немного поподробнее? Что за CI/CD и в чем именно неудобство?
С какой-то стороны это концептуальное разделение как и многое в мире разработки.но если разобраться то это логично: IdentityServer содержит информацию о пользователях в своей бд, о клиентах, скоупах, ресурсах и тд. В качестве ресурсов могут выступать Web API, которых может быть несколько.и IdentityServer находится не в составе одного из них а отдельно.
Также если по какой-то причине в будущем будет принято решение использовать другое решение для актентификации, то в коде Web API можно будет сделать изменения только на уровне конфигурации
@@PlatinumTechTalks Понял, спасибо!
Возникла проблема, после скачивания вашего проекта создался файл базы Platinum.Auth.db , но, у него в обозревателе решений нет иконки, только название и при попытке регистрации пишет:
Microsoft.AspNetCore.Identity.UserManager[14]
User password validation failed: PasswordRequiresLower.
У меня NET 3.1, у вас кажется была другая весрия, может быть дело в этом?
Буду очень вам благодарен, если поможете, это для сессии, задали
Больше похоже на конфигурацию требований к паролю в проекте с Identity
@@PlatinumTechTalks разобрался с этим, спасибо большое)
@@PlatinumTechTalks возник ещё один вопрос, скажем я хочу создать ещё один файл с названием Secret.cshtml, в который должно пускать после авторизации, если в login.cshtml
я пишу:
меня пытается кинуть в него, но говорит что кажется нет доступа, мне пришлось сделать данный файл публичным через:
[HttpGet]
public IActionResult Secret(string returnUrl)
{
var viewModel = new LogoutViewModel
{
ReturnUrl = returnUrl
};
return View(viewModel);
}
в контроллере, теперь пускает, но и без авторизации пускает, как это исправить?
Задал вопрос об этом вот тут ru.stackoverflow.com/questions/1392461/asp-net-core-%d0%b4%d0%be%d1%81%d1%82%d1%83%d0%bf-%d0%ba-%d1%84%d0%b0%d0%b9%d0%bb%d1%83
там есть скрины и листинги, возможно там вам будет удобнее ознокомиться
Исходники есть а гитхабе?
в ближайшее время добавим ссылки для всех видео из курса на код
Спасибо.
под каждым видео теперь добавлены ссылки на код из видео
сложнаа сложнаа... нихуя не панятнааа...
Матерьял вкорне не правильный см - deblokt.com/2020/01/24/05-identityserver4-adding-custom-properties-to-user-net-core-3-1/
а что конкретно в корне не правильно?
Спасибо