Авторизации OAuth 2.0 в .Net 7.0 выдает ошибку открытия браузера

Работаю над Desktop Приложением. Перевожу его с .Net Framework 4.8 на .Net 7.0. Приложение обращается к таблицам Google.Sheets и работает с ними. Однако в .Net 7.0, авторизация по OAuth 2.0, по методу GoogleWebAuthorizationBroker.AuthorizeAsync выдает ошибку. В .Net Framework 4.8 всё работало нормально. Отловил ошибку о том, что метод не может открыть браузер. Я знаю, что в .Net 7.0 в отличие от .Net Framework 4.8, для того чтобы запустить файл или открыть ссылку в браузере, нужно в ProcessStartInfo принудительно задать свойство UseShellExecute как true. В .Net 7.0 оно по-умолчанию - false, а в .Net Framework 4.8 - true. Возможно метод GoogleWebAuthorizationBroker.AuthorizeAsync использует ProcessStartInfo со значением UseShellExecute и вследствие этого не может запустить браузер для авторизации. Как решить проблему с авторизацией OAuth 2.0 в .Net 7.0?

            var secretFile = Path.Combine(resourcesfolder, "client_secrets.json");

        string credPath = Path.Combine(Path.GetTempPath(), "googletoken.json");

        string[] scopes = { "https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/drive" };

        UserCredential googleCredential = null;

        using (var stream = new FileStream(secretFile, FileMode.Open, FileAccess.Read))
        {
            try
            {
                googleCredential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.FromStream(stream).Secrets,
                    scopes,
                    "user", CancellationToken.None, new FileDataStore(credPath, true));
            }
            catch (Exception e)
            {
                var ie = e.InnerException;

                Rhino.RhinoApp.WriteLine("Impossible to log in!");
            }
        }

скриншот ошибки


Ответы (0 шт):