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

时间:2014-05-20 13:25:37

标签: google-api

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

感谢阅读。

2 个答案:

答案 0 :(得分:10)

Google API Client Library OAuth2 docs州,

  

让您的客户保密。如果有人获得了您的客户   秘密,他们可以用它来消耗你的配额,招致指控   您的Developers Console项目,并请求访问用户数据。

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

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

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

答案 1 :(得分:8)

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

  

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

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