#azure #asp.net-core #microsoft-identity-platform #microsoft-identity-web #grpc-c#
#лазурь #asp.сетевое ядро #microsoft-платформа идентификации #microsoft-идентификация-веб #grpc-c#
Вопрос:
У меня есть два заявления —
- общедоступное клиентское приложение (консольное приложение .NET Core), в котором пользователь получает маркер доступа Microsoft identity
- веб-API, который пытается вызвать Microsoft Graph от имени пользователя, используя этот маркер доступа
Когда я вызываю Microsoft Graph из веб-API, я получаю исключение MicrosoftIdentityWebChallengeUserException, внутреннее исключение которого гласит: «Пользователь или администратор не дал согласия на использование приложения с идентификатором lt;…gt; с именем lt;…gt;lt;…gt;. Отправьте интерактивный запрос на авторизацию для этого пользователя и ресурса».
Я пытался:
- для предварительной авторизации клиентского приложения в приложении службы с помощью вкладки «Доступ к API» на портале Azure
- чтобы добавить идентификатор клиентского приложения в массив knownClientApplications на вкладке Манифест
- чтобы включить области, необходимые для Microsoft Graph (например, «User.Read»), в маркер доступа, полученный пользователем
но, похоже, это не работает, и я все равно получаю то же исключение.
Вопрос в том, могу ли я каким — то образом избежать этой исключительной ситуации, получив все необходимые разрешения в маркере доступа пользователя перед вызовом службы GRPC, или, если нет, как мне нужно обработать это исключение, чтобы распространить его обратно на пользователя.