Secure API с Azure AD / пользователей B2C

Обновить

November 2018

Просмотры

588 раз

5

Мой случай использования:

  • Создание пользователей с помощью API с настраиваемыми полями, выдвинутым пароль, используя любой адрес электронной почты
  • Update / отключить этих пользователей через API
  • «Войти» в Azure приложения AD с реквизитами пользователя через REST API для получения маркеров
  • Сделать авторизованные запросы к Web API, когда маркер передается в заголовке Http

Может все это может быть достигнуты с прямым Azure AD / B2C или я должен смотреть на другом провайдере идентичности, например IdentityServer / Auth0?

Редактировать 1

Я получаю очень путать между AAD приложениями / пользователями и B2C приложениями / пользователями, существует очень мало указаний на то, что использовать в данном случае.

Использование https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet в качестве отправной точки я получаю следующие результаты при подключении клиентского идентификатора и секрет от:

  • Azure AD - тип приложения Веб-приложение / Api - работает, может создать пользователя
  • Azure AD - тип приложения Native - не работает, не может создать пользователя
  • Azure B2C - приложение, созданное в Powershell согласно ссылке - работает, может создать пользователя, однако я не могу увидеть вновь созданное приложение в Azure Portal, и не может вносить изменения.
  • Azure B2C - приложение, созданное в B2C UI - не работает, запрос на Graph Апи терпит неудачу с «недостаточными разрешениями». Я добавил разрешения на чтение / запись вручную в Powershell, но это не сработало.

На данный момент я не знаю, что это правильный подход для моего сценария.

1 ответы

1

Если вы хотите добавить локальные учетные записи в Azure AD B2C, вы можете использовать Azure AD Graph API для достижения этой цели, чтобы добавить локальный аккаунт пользователя к Azure B2C Справочник жильца Активный см Создать апи документ пользователя (локальная учетная запись) .

Если вы хотите добавить социальные счета, такие как Facebook и Google, вам нужно проверить, обеспечивает ли это идентичность предоставить API-интерфейсы REST для управления своих пользователей.

редактировать

Для подключения к API Graph, в настоящее время необходимо настроить другое приложение в Azure AD (не в лазурном объявлениях b2c лезвие):

введите описание изображения здесь В этом приложении вы можете установить разрешения для приложения ключа и грантовый использовать путь Azure AD Graph API .Another используют PowerShell службы принципала и присоединять разрешение API на 3 Graph:

https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-devquickstarts-graph-dotnet/

После того, как пользователь Войти в приложении B2C, при вызове графа API, вы можете использовать ADAL v2 или v3 для того, чтобы получить маркеры доступа, которые могут использоваться с API Azure AD Graph (с использованием клиентского потока удостоверения). Пожалуйста, обратитесь к образцу кода в ссылке выше.

Если вы хотите ограничить использование, которые могут создавать пользователь с Graph API, вы можете написать свою собственную логику в приложении, чтобы контролировать это.

Обновить :

B2C приложение (которые создают в b2c лезвие) может помочь вам войти в аккаунт и подписаться на пользователей, но B2C приложение не может получить доступ к API , в настоящее время (в режиме предварительного просмотра, но не может выбрать любой АФИ в мой портал), так что вам нужно использовать приложение AD (в лазурных объявлениях клинка), который может предоставить разрешение на доступ к другому API , как Microsoft Graph API. При последующей ссылке: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet , в статье он создает ServicePrincipal не приложение, так что вы не может найти приложение, пожалуйста , нажмите здесь для получения более подробной информации о применении и обслуживания основных объектов в Azure Active Directory