2017-02-13 4 views
0

Мы используем Azure AD B2C на клиентском веб-сайте. Пользователи могут заполнить регистрационную политику для регистрации учетной записи, и она работает успешно, и запрос isNew возвращается, когда пользователь сначала завершает политику.Azure AD B2C Graph API после входа?

Мы хотим добавить пользователя в определенную группу при первом входе в систему на основе некоторой бизнес-логики. Как я и предполагаю, мы просто добавим обработчик для уведомления SecurityTokenValidated, рассмотрим требование isNew и затем обновим нового пользователя по мере необходимости.

Похоже, что требуется использование API-интерфейса Graph, но я не знаю, как закончить настройку арендатора AD B2C и настроить Graph API для работы на стороне сервера в этом случае. Как мне подойти к этому случаю, когда сайту необходимо взаимодействовать с API-интерфейсом Graph во время входа пользователя в систему?

Спасибо за любые указатели/примеры.

+0

Вы можете поделиться нам с нами, что вы попробовали? Вы вообще спрашиваете, как звонить на Graph API? Вы пробовали что-то вроде [этого] (https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet)? –

+0

Я попытался пройти через эту статью и не смог ни с чем связаться с командлетами Powershell. Я назвал Get-Credentials, используя мою регистрационную информацию, которая настроена как глобальный администратор в b2c-арендаторе, но последующие вызовы все провалились, заявив, что это неверный логин. – SWC

+0

Я пробовал эту ссылку, но не мог заставить командлеты auth работать с моими учетными данными, несмотря на то, что был глобальным администратором в b2c-арендаторе. Я переключился на старый лазурный портал и создал там приложение, указав AAD и Graph API в соответствии с требуемыми разрешениями, а затем смог получить вызов, используя код примера из [здесь] (https://azure.microsoft.com/en -us/resources/samples/active-directory-dotnet-graphapi-web /) и используя секретный ключ. Я все еще не понимаю, нужно ли мне искать токен приложения один раз за сеанс или только один раз при запуске webapp и как его поддерживать. – SWC

ответ

1

Как я должен подходить к этому случаю, когда сайту необходимо взаимодействовать с API-интерфейсом Graph во время входа пользователя в систему?

Насколько мне известно, Azure AD B2C арендатор поддерживает только Реквизит клиента поток приобрести маркер для Azure AD Graph.

В настоящее время OAuth 2.0 код авторизации потока для Azure AD B2C поддерживают только приобрести маркер для собственного веб-бэкенд API вашего приложения (см here).

Так что в вашем случае вы не можете получить токен доступа при запуске веб-приложения. Вы можете получить токен приложения, когда вам нужно. Как упоминал Шон Тебризи, если вы используете библиотеку аутентификации Active Directory, она будет управлять временем жизни токена, используя кеш-ключ по умолчанию.

Более подробно о Client Credential потока, вы можете обратиться this document те, что работает для Microsoft Graph, однако это легко изменить ресурс Azure AD Graph.