Что Identity Server предлагает, что ASP.NET Core Identity не

9

Я пытаюсь понять общую картину при создании нового веб-сайта с использованием ASP.NET Core. Я хочу, чтобы пользователи моего сайта могли регистрироваться и входить в социальные сети, такие как Facebook и Google. После регистрации, когда они отправляют запросы в мой WebAPI на ресурсы, мне нужно знать, какой пользователь вошел в систему, чтобы запросы ресурсов можно было персонализировать для пользователя. Я поиграл с ASP.NET Core Identity, и это, кажется, обеспечивает большую часть функциональности того, что мне нужно - например, регистрация у внешних провайдеров, вход в систему и сохранение этих данных в базе данных с использованием Entity Framework - однако с немного больше волшебства, чем мне бы хотелось - во многих руководствах перечислены шаги, чтобы заставить его работать, не объясняя, как это работает в фоновом режиме, например, для общения с Facebook.

Во внешнем интерфейсе я собираюсь использовать Aurelia, и я заметил несколько учебных пособий, в которых используется Identity Server, который, как я понимаю, является реализацией OpenIDConnect.

Прочитав видео о IdentityServer ... Я понимаю, что вы можете использовать ASP.NET Core Identity с IdentityServer. Чего я не понимаю, так это того, что мне было бы полезно просто реализовать ASP.NET Core Identity. (Тем не менее, я не могу найти учебники по интеграции Aurelia, ASP.NET Core Identity ...) Каково преимущество добавления большей сложности с Identity Server по сравнению с простым использованием ASP.NET Core Identity?

Крис Невилл
источник
1
Этот сайт предназначен для вопросов концептуальной и программной инженерии. Вопросы об инструментах, сравнениях, рекомендациях и т. Д. Не относятся к теме.
Андрес Ф.
3
Две библиотеки в некоторой степени взаимосвязаны, я пытаюсь понять, где одна заканчивается, а другая начинается. Если это не по теме, мне было бы интересно узнать, есть ли где-то еще, я могу задать этот вопрос.
Крис Невилл
1
Это определенно не по теме, и, к сожалению, я не знаю ни одного сайта из сети stackexchange, где вы могли бы спросить об этом.
Андрес Ф.
4
Я не вижу, как это не по теме. Звучит как законный вопрос для меня.
RubberDuck
1
У меня такие же недоразумения. Я хотел бы спросить об этом в stackoverflow.
SiberianGuy

Ответы:

3

Identity Server позволяет выдавать токены доступа для API. По своему опыту я видел, что он используется только тогда, когда приложение требует настраиваемой аутентификации OAuth 2.0, которая не может быть предоставлена ​​поставщиками аутентификации, поддерживаемыми ASP.Net Core. Если ваш сайт может использовать одного из существующих поставщиков OAuth 2.0, то нет никаких преимуществ в настройке и управлении вашим собственным экземпляром Identity Server.

neverseenjack
источник
1
Это хороший ответ. Однако весь вопрос не по теме (он задает вопрос о конкретной технологии, а не об общем вопросе разработки программного обеспечения).
Джей Элстон,
Договорились о конкретной технологии. Однако, если вы удалите конкретные упоминания в ASP.Net Core, вопрос в основном задает вопрос: «Какова цель наличия собственного провайдера идентификации?»
neverseenjack