@Taras25

Использовать ли Microsoft Identity для авторизации web api?

Начал делать проект, состоящий из asp.net webapi на бэке, и vuejs на фронте.
Опыта у меня в таких делах маловато, так что хотелось бы поинтересоваться у знающих людей.
Как известно, в asp.net есть встроенный механихм для авторизации/аутентификации - Identity.
Но мне показалось, что он слишком перегружен всякой левой фигней, и недостаточно гибок для настройки.
К тому же, я хочу иметь БД в виде Mongo. Есть решения которые позволяют не писать свое хранилище, а взять уже готовые для Mongo, но я не уверен в них на 100%, все-таки это поделки какие-то, и возможно они далеки от оптимальности по скорости, и содержат баги.
Но основной вопрос все же об Identity - есть ли у кого-то опыт с его использованием?
Например, было решено его использовать, а в процессе было решено его выпилить и написать всю логику авторизации самостоятельно.
Планируется также использовать аутентификацию через социальные сети. В том числе те, которых нет в стандартной поставке .net
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 3
vabka
@vabka
Токсичный шарпист
> аутентификацию через социальные сети
Если они поддерживают oauth, то проблем не должно возникнуть.
Сам не пробовал Identity, но много людей им пользуется и я особых жалоб на него не слышал.
В принципе запилить велосипед с собственной авторизацией - это ок, но для аутентификации/идентификации лучше использовать что-то готовое. Из таких: IdentityServer и Hydra.
>возможно они далеки от оптимальности по скорости, и содержат баги.
Это можно определить по количеству пользователей. Если очень много людей используют его в продакшене, то, вероятнее всего, оно будет работать и у вас.
Ответ написан
Комментировать
firedragon
@firedragon
Senior .NET developer
По порядку. В net core рекомендуют identity server 4 . Он таки позволяет как авторизацию из базы так и стандартный oauth2 в примерах Гугл фэйсбук Майкрософт и по моему яндекс. Геморроя правда много, особенно если хочешь авторизацию в одном приложении вместе с апи и спа. Если не смущает лишний домен то запилите авторизацию по шаблонному проекту и разместите его на другом домене. Либо пишите отправлю шаблон
Ответ написан
Jeer
@Jeer
уверенный пользователь
Добрый день всем любителям всем любителям дот нета )
Я использовал стандартную реализацию Identity во многих версиях .net, для маленьких проектов (в том числе коммерческих, но так же, не особо сложных). Всё работает, условно, из коробки. Но из-за того, что это очень гибкий инструмент, в нём очень много различных настроек, в которых довольно легко запутаться.
Именно из-за этого, при использовании стандартного Identity меня всегда не покидало ощущение перегруженности и не полного контроля кода в этом аспекте. Да и, собственно, когда хочется разобраться как всё работает, особенно в учебных целях, желательно своими руками выполнить соответствующие куски кода.
Желания прям выпилить стандартную реализацию и заменить всё своим кастомным решением у меня не было, так как архитектура (что будет использоваться) обычно планируется заранее и если стандартный Identity подходит, чего ж его выпиливать. Но в последнем проекте, например, я делал самостоятельно логику авторизации, хотя, при этом, оставив стандартные схемы аутентификации.
Если есть время/желание, могу показать, например, в дискорде.
p.s. я не работал с монгой, но это, вроде как, не принципиально в подходе code first при работе с базой
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы