у меня есть бекенд на асп нете, который предоставляет рест апишку, и ее использует фронт. пришел к тому, что для аутентификации стоит использовать сессии.
походив по доке, я так понял, что встроенный инструмент, который стоит использовать, это ASP.NET Core Identity.
но это такаая огромная штуковина, что в ней предстоит очень долго разбираться. может быть есть решение для маленьких и глупеньких фронтедиков, которым не нужны миллиард ролей и остальных страшных штук?
сессии!= аутентификация. Можешь реализовать свой auth schema со своим https://referbruv.com/blog/posts/implementing-custom-authentication-scheme-and-handler-in-aspnet-core-3x
Если у тебя данных о пользователе немного, скажем до 1000 символов если их представить в виде key-value строковых пар, то можно на обычных куках
В смысле, что там разбираться? Ты просто её включаешь и вешаешь на контроллеры/экшен-методы атрибуты - всё
ну, а конфигурировать ее кто будет? роли там и все такое ┐(´ー`)┌ с каким-нибудь готовым примерчиком проекта конечно было бы проще понять
Вот скаффолд для пустого webapi Ссылки: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-5.0&tabs=netcore-cli https://docs.microsoft.com/ru-ru/aspnet/core/security/authentication/identity-configuration?view=aspnetcore-5.0
оо, ничего себе. я как-то упустил эту статью из виду. но там какой-то упор на юай. мне вот он нафиг не нужен. у меня бекенд предоставляет чисто API. может это значит, что и Identity мне не стоит использовать?
UI там только для действий с аккаунтом, зачем тебе это делать руками, если оно уже есть? UI этот можно изменить под себя, если нужно
у меня уже существующий SPA
И как это мешает использовать готовый UI для Identity?
очень странные вопросы 🤔 зачем мне использовать примитивный юай на бутстрапе который сделан для примера, если есть готовый фронтенд, который выполняет все задачи
Твой фронтенд сейчас не выполняет задачи Identity, зачем делать лишнюю работу? А её там поверь немало, особенно если смотреть на будущее. Например такие сложные штуки как oauth будут ставиться установкой 1 nuget пакета и заданием clientid/secret Про бутстрап не понял, ты имеешь ввиду css либу? Можно что угодно поставить и задизайнить как тебе хочется
ты мне серьезно сейчас предлагаешь держать в разработке два фронтенда на разных технологических стеках, один из которых будет интераптить пользовательский опыт второго?
Разные технологические стэки в чем? Что там что там html/css, в код C# тебе лезть не надо вообще Пользовательский опыт ещё раз говорю ты можешь сделать как тебе хочется, не обязательно дефолтный дизайн юзать
Просто посмотри сколько тут страниц, большая часть из которых тебе будет нужна в более-менее нормальном проекте 1. Ты задолбаешься всё это выносить в spa 2. Есть немаленький шанс того, что где-нибудь накосячишь и будут уязвимости 3. Не будут работать многие изкоробочные решения типа того же oauth, например для госуслуг спека на 200 страниц
смотри: у меня не самый простой фронтенд на Vue JS. там библиотека компонентов, куча стилей, и самое главное - все это SPA. то есть для пользователя вся навигация производится без перезагрузки страницы. тут ты мне предлагаешь написать с нуля такой же фронтенд, но для авторизации. и на plain html/css. который нужно будет еще синхронизировать с основным фронтендом чтобы они выглядели одинаково. не кажется ли тебе, что это несколько нерациональная трата времени?
так я потому и хочу на бекенде использовать готовое решение, чтоб не накосячить в уязвимостях. фронт тут причем  ̄へ ̄
1. Ты теряешь только клиент сайд роутинг 2. С "нуля" тебе нужно будет только стили поменять и местами html немного подправить, который за тебя уже написан, ито я уверен что на большинстве страниц тебя устроит дефолтный каркас 3. С нуля тебе как раз все на клиенте нужно будет реализовывать, если ты это все хочешь в SPA тащить 4. Ещё тебе и всю логику бэка придется под SPA переделывать
Обсуждают сегодня