Подходящая замена Azure для Auth0 - PullRequest
1 голос
/ 11 октября 2019

У меня есть веб-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 первое, что меня смущает, это то, что существуют различные службы аутентификации:

  1. На портале Azure в моей службе приложений в разделе «Аутентификация / авторизация» есть тумблер с надписью «Аутентификация службы приложения». Если я включу это, то смогу настроить провайдеров аутентификации.

  2. На портале Azure есть Azure Active Directory, который, я полагаю, связан с приведенным выше?

  3. Существует также Azure B2C.

В чем разница между проверкой подлинности службы приложений Azure и Azure B2C? Какой из них я должен использовать? В чем разница между пунктами 1 и 2 выше? Некоторые примеры, которые я видел, используют точку 1, а некоторые - точку 2.

Извините, если это очень расплывчатый вопрос. Я просто пытаюсь понять, в каком направлении идти. Я обнаружил, что Auth0 довольно прост, но, к сожалению, я не могу сказать то же самое об аутентификации Azure. Я просто хочу выяснить, какой вариант Azure лучше всего подойдет для замены Auth0, поскольку я использую его сейчас. Спасибо

Ответы [ 2 ]

2 голосов
/ 11 октября 2019

Azure B2C является подходящим вариантом для замены аутентификации пользователя, однако вам придется использовать OWIN или другое решение, чтобы фактически обеспечить конвейер идентификации / авторизации для конкретного приложения. Что касается общедоступного сайта, я бы не стал использовать Azure AD с прямым доступом для входа клиентов, который больше ориентирован на корпоративных клиентов с удостоверениями в federated, office365 или в предварительной версии Active Directory.

Если честно, я удивлен, что вы планируете перейти с auth0 на AAD. Я думаю об обратном.

1 голос
/ 11 октября 2019

Я думаю, что «замена» будет использовать Identity Server, но для него нет версии PaaS для Azure. Поэтому вам следует использовать Azure AD или Azure AD B2C.

Если вы хотите просто создавать пользователей и группы, вам следует использовать Azure AD. Но если вы планируете разрешить сторонним удостоверениям доступ к вашему приложению (например, Facebook, Google или Linkedin), вам следует использовать Azure AD B2C. Для получения дополнительной информации, пожалуйста, прочитайте: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-overview

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...