У меня есть веб-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, поскольку я использую его сейчас. Спасибо