Я искал варианты аутентификации для веб-API REST (.NET Core, но это не главное).
В частности, я смотрю на Azure AD B2C.
У меня есть два варианта использования:
1) Приложение.В приложении я не хочу, чтобы пользователь вообще использовал user / pass (ни социальные идентичности).Когда пользователь впервые открывает приложение, он вводит свой номер телефона, я отправляю его в службу, существующую в моей стране, он запрашивает у него телефон для входа и возвращает мне его эквивалент «номера социального страхования».Этой службе можно доверять, чтобы идентифицировать этого пользователя.
Когда пользователь в следующий раз откроет приложение, я просто хочу, чтобы он оставался в системе - либо это, либо он должен использовать только биометрию (touchId или faceId).Как бы я мог реализовать это обычно?И возможно ли это даже в Azure AD B2C?
2) Веб-приложение, которое будет использовать ту же «услугу» - т.е. вы вводите номер телефона, вызывается служба и она сообщит мне, прошел ли аутентификация пользователяуспешно или нет.Я также не хочу использовать user / pass здесь.Разница между этим и приложением заключается в том, что в этом случае мы будем использовать сервис каждый раз, когда пользователь не будет входить в систему в течение длительных периодов времени.
3) Веб-клиент, использующий user / pass.Я думаю, что это будет работать с использованием Azure AD B2C с использованием потока «Учетные данные пароля владельца ресурса» (чтобы избежать перенаправлений - я не понимаю, почему я бы использовал неявный код потока / кода авторизации, когда клиент и служба написаны мной. Перенаправление может показаться глупым в SPA, где AS - мой, а клиент - мой).
4) Необязательно: приложение «сервис-сервис».Это можно сделать, просто используя поток учетных данных клиента в Azure AD (не уверен, что это имеет B2C?), Т. Е. Приложение просто отправляет свой идентификатор вместе с секретом (и при необходимости подписывает запрос своим сертификатом клиента).Я предполагаю, что мой вопрос здесь, если кто-нибудь знает, может ли это быть сделано с Azure AD B2C - я знаю, что это можно сделать с Azure AD.
Любая помощь будет оценена!Указывает ли это на ресурсы или что-то еще, но я много читал в документах Microsoft.