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