Как установить клиент Google oAuth без локального хранения учетных данных? - PullRequest
1 голос
/ 20 сентября 2019

Я пытаюсь установить клиент Google oAuth2 с golang.org/x/oauth2/google, чтобы я мог запланировать некоторые напоминания по электронной почте для себя.Если я правильно понимаю документацию, грубый процесс идет следующим образом.

  1. Получить oauth2.Config экземпляр
  2. Используйте конфигурацию для получения токена от Google
  3. Используйте токен для установки клиента

Проблема, с которой я столкнулся, заключается в том, что все функции для генерации конфигурации с помощью golang.org/x/oauth2/google, похоже, требуют локального файла учетных данных, из которого, как я предполагаю, считаются идентификатор клиента Google API и секреты клиента.

Это хорошо для постоянной работы, но это приложение будет работать в нестабильном месте без диска.Я чувствую, что, должно быть, мне не хватает какого-то очевидного способа создания конфигурации с использованием моего идентификатора клиента API и секрета, который я сохранил в среде.Я использую этот пакет неправильно?Как я могу создать экземпляр oauth2.Config без локального файла?

1 Ответ

2 голосов
/ 21 сентября 2019

Я могу подумать о нескольких вещах, которые вы можете сделать:

  1. Существует функция ConfigFromJSON, которая получает документ JSON в виде байта [].Вы можете выяснить, как выглядит этот файл, и сгенерировать его, используя переменные окружения.

  2. Похоже, все, что делает пакет, - это готовит конфигурацию oauth2.Вы можете подготовить конфигурацию самостоятельно с имеющимися учетными данными, полностью минуя библиотеку.

...