Я пытаюсь добавить аутентификацию OAuth в программу C#, которая работает с Gmail, используя IMAP. Фактическая команда AUTHENTICATE XOAUTH2 в IMAP работает отлично, если я получаю токен доступа с игровой площадки OAuth 2.0. Однако мои попытки включить программу для получения самого токена доступа застопорились. Я читал RFC и имею немного представление о том, что происходит, но я все еще изо всех сил пытаюсь понять это практически. Поэтому я прошу о помощи.Аутентификация Google OAuth 2.0 в установленном приложении C#
Код я терплю неудачу с выглядит следующим образом, копируется из образца here:
ClientSecrets clientSecrets = new ClientSecrets{ClientId = myClientID, ClientSecret = myClientSecret};
string[] scopes = new string[] { "https://mail.google.com" };
Google.Apis.Auth.OAuth2.UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
clientSecrets, scopes, "user", CancellationToken.None).Result;
Когда я запускаю это, я получаю сообщение об ошибке в своем браузере, говоря:
Error: redirect_uri_mismatch
The redirect URI in the request: http://localhost:59904/authorize/ did not match a registered redirect URI
I понять, что мне нужно установить URI перенаправления «urn: ietf: wg: oauth: 2.0: oob», но я не понимаю, как это сделать и понять, почему образец не может этого сделать.
Большое спасибо за любую помощь ...
А, да. Я задавался вопросом, почему в json, который я загрузил, вместо него была установлена «сеть». Я, должно быть, полностью пропустил, где должен был указать установленное приложение. Еще раз спасибо. – Hieronymous