MSAL TokenAcquisition с токена, хранящегося в файле - PullRequest
0 голосов
/ 23 октября 2019

Я сохранил исходный usertakencache в файл. Теперь, когда я хочу приобрести AcquireTokenSilent, я не знаю, как использовать этот сохраненный кеш токена, потому что вся документация, которую я нахожу, используется на основе кеша, но не для других форматов памяти.

Я выполнил поиск по количеству репозиториев Microsoft MSAL, но они не помогли с решением.

 IConfidentialClientApplication app = MsalAppBuilder.BuildConfidentialClientApplication();
            AuthenticationResult result = null;
            StreamReader sr = new StreamReader("D:\\Test.txt");
            string line = sr.ReadLine();

                var accounts = await app.GetAccountsAsync();
            string[] scopes = { "Mail.Read" };


            try
            {
                // try to get token silently
                result = await app.AcquireTokenSilent(scopes, accounts.FirstOrDefault()).ExecuteAsync().ConfigureAwait(false);
            }
            catch (MsalUiRequiredException)
            {
                ViewBag.Relogin = "true";
                return View();
            }
            catch (Exception eee)
            {
                ViewBag.Error = "An error has occurred. Details: " + eee.Message;
                return View();
            }

            if (result != null)
            {
                // Use the token to read email
                HttpClient hc = new HttpClient();
                hc.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", result.AccessToken);
                HttpResponseMessage hrm = await hc.GetAsync("https://graph.microsoft.com/v1.0/me/messages");

                string rez = await hrm.Content.ReadAsStringAsync();
                ViewBag.Message = rez;
            }
...