Я использую библиотеку MSAL.NET в приложении WPF для получения токена доступа для учетных записей MSA с помощью интерактивного рабочего процесса получения токена.Ниже приведен соответствующий фрагмент кода для получения токена:
PublicClientApplication PublicClientApp = new PublicClientApplication("The-Application-Id", "https://login.microsoftonline.com/consumers/", TokenCacheHelper.GetUserCache());
var authResult = await publicClientApplication.AcquireTokenAsync(new string[] { "email" });
, где TokenCacheHelper взят из документации .Это работает нормально, и я могу получить токен доступа и идентификационный токен в результате.Но если в следующий раз я войду в систему с использованием той же учетной записи, мне снова придется дать согласие на профиль и области электронной почты.Независимо от того, сколько раз я входил в систему и давал согласие, он все еще спрашивает меня о согласии.Я проверил свой текущий статус на account.live, и он говорит, что согласие на вышеуказанное заявление уже предоставлено.Я прошел через несколько документов, но не повезло.Может кто-нибудь предоставить какие-либо указатели?
![Image describing repeated consent prompt for same user](https://i.stack.imgur.com/PMR34.png)
PS Выше приведено конвергентное приложение, которое поддерживает нативное, и причина, по которой я не использую AcquireTokenSilentAsync, заключается в том, что я хочу несколькоУчетные записи MSA могут входить в приложение, установленное на том же устройстве.
Редактировать : я пытался использовать PublicClientApplication без кэша токена (таким образом, используя библиотеку по умолчанию) и по-прежнему такое же поведениенаблюдается.Чтобы лучше понять поведение, я захватил трассировку Fiddler во время входа в MSA с использованием MSAL.Из приведенной ниже трассировки наблюдаются обращения к / Consent / Update, что и является причиной того, что запрашивается согласие при каждом входе в систему.Есть идеи как это отключить?
![enter image description here](https://i.stack.imgur.com/Kgmj7.png)