client_secrets.json文件的用法是什么?

Ian*_*son 18 google-api

我正在使用Python中的Google Tasks API编写程序.我已经从Google下载并运行了示例应用程序,它附带了一个名为"client_secrets.json"的文件.我知道该文件用于0Auth身份验证,但我的问题是我应该将此文件分发给用户吗?我应该把它推到我的公共来源回购中吗?或者它应该被保密?如果我不应该分享,其他用户将如何进行身份验证?

谢谢阅读.

小智 10

谷歌API客户端库的OAuth2文档指出,

让您的客户保密.如果有人获取您的客户机密码,他们可能会使用它来消耗您的配额,对您的Developers Console项目收取费用,并请求访问用户数据.

所以不要提交或以其他方式分发文件.

如果您想公开分享您的应用程序源代码,请指示其他人使用他们自己的Google Developer帐户注册他们自己的Google Developer项目并生成他们自己的应用OAuth凭据(client_secrets.json文件),以便与他们对应用程序的"安装"一起使用.

如果您将应用程序商用,您似乎需要以受信任,受法律保护或安全的方式与他们共享应用程序凭据.


Jon*_*n B 8

显然,对于已安装的应用程序,client_secrets.json文件不必保密.来自"已安装的应用程序"部分中的https://developers.google.com/identity/protocols/OAuth2?csw=1#CS:

该过程会生成客户端ID,在某些情况下会导致客户端机密,您将其嵌入应用程序的源代码中.(在这种情况下,客户端秘密显然不被视为秘密.)

因此,如果您正在制作一个Web应用程序,请保密.如果它是一个python应用程序,你分发给用户,他们自己运行,它不必保密.