0

Я разрабатываю WebAPI поверх моего уже существующего MVC-приложения, используя систему авторизации OAuth2.Управление учетными записями клиентов в проекте, уже использующем Identity

Этот API позволит моим клиентам запрашивать информацию о моих пользователях. В настоящее время мои пользователи хранятся в таблицах Identity (ASPNetUsers). В моем приложении они регистрируются, регистрируются и т. Д. С помощью классов и методов Identity.

Проблема заключается в следующем: я хочу управлять учетными записями API-клиентов в «Идентичном способе», чтобы я мог аутентифицировать их, когда они запрашивают токены доступа. Но я не могу использовать текущие таблицы пользователей, так как между моими клиентами и моими пользователями нет общих точек.

Идеальное решение состоит в том, чтобы иметь две таблицы Identity: один для моих пользователей и один для моих клиентов, но после моих долговременных поисков я решил, что это невозможно, или это будет беспорядок, в лучшем случае ,

ответ

0

Я бы не использовал идентификатор ASP.NET как способ управления зарегистрированными клиентскими приложениями OAuth2. Несмотря на то, что некоторые клиентские приложения (конфиденциальные) действительно выдают учетные данные клиента, это, вероятно, единственное, что они разделяют с идентификатором пользователя и пароля пользователя. Это совершенно другая вещь, и поэтому она должна управляться и храниться независимо.

Если вы думаете, что это звучит как большая работа, вы абсолютно правы. Нетрудно реализовать пользовательскую аутентификацию имени пользователя и пароля, которая доказывает безопасность и внедрение сервера авторизации OAuth2 во много раз сложнее.

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

If вы по-прежнему оцениваете все свои варианты. Я бы также рассмотрел возможность делегирования всей работы по аутентификации/авторизации на th ird-party, Auth0 приходит на ум, но я предвзятый, потому что я там работаю.

+0

Что может быть бесплатным решением для аутентификации моих клиентов? К сожалению, я не могу позволить себе Auth0 для моего проекта ... – Lawi

+0

Это не бесплатно, у вас все еще будут затраты на их реализацию в вашей системе, но вы можете оценить, может ли сгенерированный исходный код, такой как ASOS, и IdentityServer. –

Смежные вопросы