Регистрация пользователя IdentityServer 4 - Где ее разместить?

У меня есть приложение Angular 7, которое взаимодействует с IS4 через oidc-client, а также с защищенным API. Все хорошо с точки зрения входа и взаимодействия, однако я хотел реализовать регистрацию пользователей, и я читал разные мнения в разных местах по вопросу о

где разместить?

Должна ли она быть в приложении IS4, должна ли она быть в API? Некоторые люди говорят, что IS должен быть «только» входом/выходом из системы, а все остальное должно жить в другом месте. Некоторые другие расширяют свою версию Identity Server и реализуют там регистрацию.

Я бы не задавал этот вопрос, если бы не хотел автоматически ВХОДИТЬ после успешной регистрации. Я регистрирую своих пользователей в БД через API, но я хочу, чтобы они вошли в систему с моей ИС. Теперь я не знаю, является ли это хорошей практикой, и если предположить, что это так, могу ли я просто использовать SignInManager или я должен вызывать IS4 через HTTP или какой-либо другой метод. Другой альтернативой было бы попытаться войти в систему из моего приложения Angular после успешной регистрации, однако я хотел бы обойти экран входа в систему и напрямую попасть в конечную точку с полезной нагрузкой. Имеет ли это смысл?

Есть предложения/идеи?

Спасибо!


person Carlos Torrecillas    schedule 22.05.2019    source источник
comment
Для простоты вам нужно иметь регистрацию пользователя там, где у вас есть база данных пользователей. И если там размещается IS4, то все в порядке.   -  person cheesemacfly    schedule 22.05.2019


Ответы (1)


ИМХО, это ответственность IS, это ваш единственный источник правды для инструмента управления идентификацией. Как только пользователь попытается получить доступ к вашему приложению, он будет перенаправлен на страницу входа, я полагаю, и на экране входа в систему вы можете получить новую ссылку для регистрации пользователя и другой рабочий процесс в приложении IS, и как только регистрация пользователя будет завершена, вы можете направить пользователя к соответствующему приложению. К вашему сведению, мы сделали то же самое для нашего приложения, и мы не увидели никаких недостатков, и приложение находится в разработке в течение 7 месяцев.

person hashbytes    schedule 11.06.2019
comment
Спасибо, что поделились своими мыслями. Я был того же мнения, однако я читал несколько мнений о разных подходах, достигающих одного и того же результата. Мне нравится ваш дизайн экранов входа и регистрации. Я реализовал это немного по-другому, потому что я хотел иметь другой дизайн для экрана регистрации, избегая классического экрана входа, а затем ссылки для регистрации, но определенно работает на других сайтах, над которыми мне нужно работать. Спасибо за это! - person Carlos Torrecillas; 12.06.2019