Каково использование файла client_secrets.json?
Я работаю над написанием программы с использованием API задач Google в Python. Я загрузил и запустил образец приложения из Google, и он поставляется с файлом под названием "client_secrets.json". Я понимаю, что файл используется для аутентификации 0Auth, но мой вопрос в том, должен ли я распространять этот файл для пользователей? Должен ли я подталкивать его к репозиторию публичного источника? Или он должен храниться в секрете? Если я не буду делиться им, как другие пользователи сделают аутентификацию?
Спасибо за чтение.
Ответы
Ответ 1
Клиентская библиотека Google API OAuth2 docs,
Храните своего клиента в тайне. Если кто-то получает вашего клиента секрет, они могут использовать его для потребления вашей квоты, ваш проект Консоли разработчиков и запросите доступ к пользовательским данным.
Так что не делайте или иным образом распространяйте файл.
Если вы хотите публично поделиться своим исходным кодом приложения, попросите других использовать свою собственную учетную запись Google Developer для регистрации своего проекта Google Developer и создания собственных учетных данных OAuth приложения (файл client_secrets.json) для использования с их "установкой", приложения.
Если вы делаете приложение коммерчески доступным, вам, по-видимому, нужно будет поделиться учетными данными приложения с ними надежным, защищенным законом или безопасным способом.
Ответ 2
По-видимому, файл client_secrets.json не должен храниться в секрете для установленного приложения. Из https://developers.google.com/identity/protocols/OAuth2?csw=1#CS в разделе "Установленные приложения":
В результате процесса создается идентификатор клиента и, в некоторых случаях, секрет клиента, который вы вставляете в исходный код приложения. (В этом контексте секрет клиента явно не рассматривается как секрет.)
Итак, если вы делаете webapp, держите его в секрете. Если это приложение python, которое вы распространяете для пользователей, и они запускаются самостоятельно, его не нужно хранить в секрете.