我有一个我创建的 Google Drive 应用程序,我应该向应用程序的用户隐藏客户端机密吗?

I have a Google Drive app that I created, should I be hiding the client secret from users of the app?

我有一个 Google 我创建的云端硬盘应用程序,可以帮助从命令行上传和下载文件。它使用客户端密码和客户端 ID 变量来获取刷新令牌,据我所知,这是用户的标识。我想知道这个秘密是否需要对用户隐藏。

我似乎可以进入授权应用程序页面,用户可以在其中选择他们的电子邮件帐户而无需客户端密码,但是当使用验证码请求刷新令牌时,它没有通过。

我应该如何处理我从 https://console.developers.google.com/ 获得的应用程序客户端秘密凭证?

如果您阅读了您在创建客户时同意的TOS

客户端 ID 和客户端密码将您的应用程序标识为 google。通过带有您的客户端 ID 和密码的身份验证服务器发出的所有请求都被假定为来自您的应用程序。如果您授予其他人访问权限,他们就可以使用您的客户端 ID 和密码创建他们自己的应用程序,并且对每个人 google,用户它仍将显示为您的应用程序。任何垃圾邮件都将假定是您本人并会阻止您的帐户,任何对配额的收费都将假定是您本人并应用到您的结算帐户。

您不得共享您的客户端 ID 和密码。这应该保留在您的应用程序中,只有您和您的开发人员才能看到。

如果无法完成,那么您将需要指导您的用户如何在 Google 开发人员控制台上创建他们自己的项目并创建他们自己的客户端 ID 和密码,以及如何完成验证过程。

刷新令牌私有用户数据

刷新令牌实际上是您的应用程序访问用户数据的权限,有了它和客户端 ID 并保密,任何人都可以创建访问令牌并访问私人用户数据。再次出现在 TOS