#azure #microsoft-graph-api #azure-ad-b2c
#azure #microsoft-graph-api #azure-ad-b2c
Вопрос:
Я пытаюсь использовать Microsoft Graph API для настройки экземпляра Azure B2C. В частности, мне нужно создать UserFlows и IdentityProviders. Для этой цели я создал AppRegistration с IdentityProvider.ReadWrite .Все и IdentityUserFlow.ReadWrite.Все разрешения приложений API для Microsoft Graph. Я могу без проблем вызывать API для создания новых пользовательских потоков и поставщиков удостоверений, но я не могу связать потоки с поставщиком удостоверений. Всякий раз, когда я использую какой-либо из связующих API, я получаю сообщение об ошибке:
AADB2C (авторизация пользователя: доступ запрещен)
В качестве примера я получаю это при попытке перечислить зарегистрированных поставщиков удостоверений для определенного потока пользователей, т.Е.
GET https://graph.microsoft.com/beta/identity/b2cUserFlows/B2C_1_{flowId}/identityProviders
Ответом на этот запрос является 403 с
{
"error": {
"code": "AADB2C",
"message": "User Authorization: Access is denied.",
"innerError": ...
}
}
Я использую бета-API, как описано в документации здесь: https://learn.microsoft.com/en-us/graph/api/b2cuserflows-list-identityproviders?view=graph-rest-betaamp;tabs=http. Я получаю ошибку samme при попытке связать поток пользователей с поставщиком удостоверений, как описано в документации здесь: https://learn.microsoft.com/en-us/graph/api/b2cuserflows-update-identityprovider?view=graph-rest-betaamp;tabs=http
Есть идеи, почему я продолжаю получать этот блок авторизации?
Обновление: я попытался расширить .IdentityProviders присваивает свойство userflow при чтении его из graph api. Это не дает 403, но список поставщиков удостоверений в возвращаемом пользовательском потоке пуст, даже если поставщики были добавлены в поток вручную на портале Azure.
Комментарии:
1. Пожалуйста, укажите идентификатор запроса или корреляции, а также временную метку или дату.
2. @AlfredoR.-MSFTIdentity Вот идентификатор корреляции из запроса, в котором 403 пытается перечислить поставщиков удостоверений для пользовательского потока: 49557e54-296d-4115-9cf2-e555afee5474 (Дата: 2020-09-21T18:59:52)
3. Убедитесь, что вы нажали «предоставить согласие администратора». См. i.stack.imgur.com/WlwBo.png . Если у вас все еще есть эта проблема, вы можете декодировать свой токен доступа в jwt.io чтобы узнать, включает ли оно
IdentityUserFlow.ReadWrite.All
разрешение приложения. Но, хотя у меня нет ошибки 403, у меня есть другая ошибкаResource not found for the segment 'identityProviders'.
, похоже, что эта конечная точка недоступна, хотя в официальном документе уже упоминалось.4. @AllenWu Я дал согласие администратора на разрешение API, и я могу использовать другие API, для которых требуется это разрешение. Что касается ошибки сегмента, которую вы видите. Вы уверены, что получаете доступ graph.microsoft.com/beta/identity **b2cUserFlows**/{id}/identityProviders и не graph.microsoft.com/beta/identity/UserFlows {id}/Идентификаторы?
5. Спасибо за напоминание! Я их перепутал. Я протестирую его и вернусь, когда у меня будет новое обновление. Кстати, используете ли вы поток учетных данных клиента для получения токена доступа?
Ответ №1:
Пожалуйста, убедитесь, что соблюдаете это:
Учетная запись work или school должна принадлежать одной из следующих ролей:
Глобальный администратор Внешняя идентификация Администратор потока пользователей