У меня есть веб-API ASP .Net Core 2.2, размещенный как служба приложений Azure. Затем есть Angular SPA, который использует этот API, размещенный в хранилище Azure как статический веб-сайт.
В настоящее время я использую Auth0 в качестве нашего сервера аутентификации и идентификации. Я подумываю о замене Auth0 на Azure, но я потратил пару дней, пытаясь понять, что мне делать, и я полностью потерялся.
Итак, цель, которую в настоящее время обслуживает Auth0 и которую я хотел бы вместо этого использовать в Azure, - это защита моего веб-API, а также предоставление ему служб идентификации, чтобы API знал, какой пользователь вошел в систему. Итак, когда интерфейс выполняет вызов API, Auth0 автоматически перенаправляет его на страницу входа. Здесь пользователь может войти в систему, используя существующую учетную запись (включая учетные записи социальных сетей), или она может создать новую учетную запись. После входа в систему Auth0 предоставляет клиентской части токен доступа. Затем внешний интерфейс включает этот токен доступа в заголовок каждого вызова API. Маркер доступа включает идентификационную информацию, которую API использует, чтобы узнать, какой пользователь выполняет вызов. Все пользователи хранятся в Auth0. Поэтому, когда новый пользователь использует интерфейсное веб-приложение, Auth0 перенаправляет его на экран входа в систему, где они выбирают «Зарегистрироваться» и создают учетную запись в Auth0. Кстати, это может сделать любой пользователь - это общедоступное веб-приложение, которое может зарегистрироваться и использовать каждый.
Итак, когда я смотрю на использование Azure вместо Auth0, меня сначала смущает то, что существуют различные службы аутентификации:
На портале Azure в моей службе приложений в разделе «Аутентификация / авторизация» есть переключатель с надписью «Аутентификация службы приложений». Если я включу это, я могу настроить поставщиков аутентификации.
На портале Azure есть Azure Active Directory, которая, я думаю, связана с вышеупомянутым?
Также существует Azure B2C.
В чем разница между аутентификацией службы приложений Azure и Azure B2C? Какой из них я должен использовать? В чем разница между пунктами 1 и 2 выше? Некоторые примеры, которые я видел, используют точку 1, а некоторые - точку 2.
Извините, если это очень расплывчатый вопрос. Я просто пытаюсь понять, в каком направлении двигаться. Я нашел Auth0 довольно простым, но, к сожалению, я не могу сказать то же самое об аутентификации Azure. Я просто хочу выяснить, какой вариант Azure лучше всего подходит для замены Auth0, поскольку я использую его сейчас. Спасибо