我有一个自己创建的Google云端硬盘应用,是否应该向该应用的用户隐藏客户端机密?

问题描述

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

看来我可以进入auth应用程序页面,在该页面上,用户可以选择没有客户端机密的电子邮件帐户,但是当使用验证码请求刷新令牌时,它不会通过。

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

解决方法

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

enter image description here

客户ID和客户机密可向Google标识您的应用程序。假定通过具有您的客户端ID和密码的身份验证服务器的所有请求都来自您的应用程序。如果您授予其他人访问权限,然后他们可以使用您的客户端ID和机密以及每个google用户创建自己的应用程序,那么用户仍然会是您的应用程序。任何垃圾邮件都将假设是您,并且您的帐户将被阻止,配额的任何费用都将假定为您,并应用于您的结算帐户。

您可能不会共享您的客户端ID和机密。这应该保留在您的应用程序中,仅供您和您的开发人员查看。

如果无法完成,那么您将需要指导用户如何在Google Developer Console上创建自己的项目以及如何创建自己的客户端ID和机密以及如何通过验证过程。

刷新令牌私人用户数据

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

enter image description here