Авторизации 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!");
}
}