Как я могу использовать Azure AD B2 C для создания и управления пользователями через REST API? - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь создать приложение в архитектуре микросервисов. В настоящее время я пытаюсь выяснить часть аутентификации и авторизации. Я провел некоторое исследование и выбрал Azure AD B2 C в качестве провайдера идентификации.

То, что я хочу сейчас, - это способ создания пользователей в моем Azure AD B2 C через API REST, который я буду предоставлять своим клиентам (веб-приложениям и мобильным клиентам). Я уже некоторое время изучаю документацию Azure AD B2 C (https://docs.microsoft.com/en-us/azure/active-directory-b2c/) и даже интерфейс Azure AD B2 C, но всю информацию, касающуюся входа и регистрация, которую я смог найти, связана с тем, чтобы пользователи могли выполнять эти действия через настраиваемую страницу с фирменным знаком компании.

Это не то, что мне нужно. Я хочу предоставить несколько служб за шлюзом API и позволить моим клиентским приложениям создавать и управлять моими пользователями. Я хочу, чтобы моя мобильная команда могла вызывать мой API, регистрировать пользователя, выполнять вход и иметь доступ к другим связанным с бизнесом услугам, даже не зная, использую я Azure AD B2 C или нет. Но до сих пор я не смог найти ни одного Azure AD B2 C API, который позволил бы мне это сделать. Могу ли я добиться этого с помощью Microsoft Azure AD B2 C или мне следует начать поиск других поставщиков облачных удостоверений?

Ответы [ 3 ]

0 голосов
/ 26 марта 2020

Как и вы, я ищу централизованный способ сохранить своих пользователей и выполнить единый вход из нескольких приложений или API. На данный момент я склоняюсь к разработке собственного провайдера идентификации против Azure AD с точки зрения стоимости. Удачи.

0 голосов
/ 27 марта 2020

Чтобы усилить ответ @JimXu, используйте этот клиент в качестве примера.

"Этот подход аналогичен сценарию учетной записи службы, где приложение действует как само по себе, а не как пользователь, который вход через интерактивную регистрацию пользователя. Это делается с помощью OAuth 2.0 предоставления учетных данных клиента . "

0 голосов
/ 25 марта 2020

Если вы хотите управлять Azure AD B2 C пользователями с помощью API Rest, вы можете использовать Microsoft Graph API для его реализации. Для получения более подробной информации, пожалуйста, обратитесь к документу и документу

Например

  • Зарегистрировать приложение

    1. Войдите на портал Azure.
    2. Выберите значок Каталог + Подписка на панели инструментов портала, а затем выберите каталог, содержащий ваш Azure AD B2 C арендатор.
    3. На портале Azure найдите и выберите Azure AD B2 C.
    4. Выбрать Регистрация приложений (предварительный просмотр), а затем выберите Новая регистрация.
    5. Введите имя для приложения. Например, managementapp1.
    6. Выберите Учетные записи только в этом организационном каталоге .
    7. Под Разрешения снимите разрешение Предоставить администратору разрешения openid и offline_access флажок.
    8. Выберите Зарегистрировать .
    9. Запишите ИД приложения (клиента) , который появится на странице обзора приложения. Это значение используется на более позднем этапе.
  • Предоставление разрешений API

    1. Под Управление выберите API-разрешения .
    2. Под Настроенные разрешения , выберите Добавить разрешение .
    3. Выберите Microsoft Вкладка API , затем выберите Microsoft Graph .
    4. Выберите Разрешения приложений .
    5. Разверните соответствующую группу разрешений и установите флажок разрешение на предоставление вашего приложения управления. Например: Directory> Directory.ReadWrite.All: для сценария миграции или управления пользователями ios.
    6. Выберите Добавить разрешения . В соответствии с указаниями, подождите несколько минут, прежде чем перейти к следующему шагу.
    7. Выберите Предоставить согласие администратора для (ваше имя арендатора) .
    8. Выберите вашего текущего зарегистрированного администратора. или войдите, используя учетную запись в вашем Azure AD B2 C арендаторе, которому назначена хотя бы роль администратора приложения Cloud.
    9. Выберите Принять .
    10. Выберите Refre sh и убедитесь, что в поле «Статус» отображается «Предоставлено для ...». Для распространения разрешений может потребоваться несколько минут.
  • Создать секрет клиента

    1. В разделе Управление , выберите Сертификаты и секреты .
    2. Выберите Новый Секрет клиента .
  • Получить токен доступа

POST https://login.microsoftonline.com/<your b2c tannat name >/oauth2/v2.0/token 

Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=<your sp appId>
&client_secret=<you sp password>
&scope=https://graph.microsoft.com/.default
  • Создать пользователя
POST https://graph.microsoft.com/v1.0/users
Content-type: application/json
Authorization: Bearer <access_token>

{

      "displayName": "[TEST] Bridgette Harmon (Local account)",
      "givenName": "Bridgette",
      "surname": "Harmon",
      "identities": [
        {
             "signInType": "userName",
             "issuer": "<your b2c tenant>",
            "issuerAssignedId": "Bridgette"
        }
      ],

      "passwordProfile" : {
          "password": "password-value",
          "forceChangePasswordNextSignIn": false
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...