1

我有网络服务器。每个客户都在服务器上,他们可以访问他们的谷歌驱动器文件。

我已经编写了 Google drive API 的实现,但我遇到了令牌问题。

问题 1 当一个人开始访问她的 Google 驱动器时,服务器需要一个访问令牌。首先,她询问人员她是否真的需要访问文档,如果人员单击“允许访问”,则服务器返回访问令牌和刷新令牌。服务器保存当前用户的刷新令牌。

然后如果同一个人再次出现,Server 会看到她的刷新令牌,并自动生成一个新的访问令牌。用户不必再次单击“允许访问”,因为我们可以使用刷新令牌生成访问令牌。这是对的吗?因为如果我们不手动撤销刷新令牌,它将永远存在(我不知道如何撤销,但我知道如果我们不做任何事情它会永远存在)

问题 2 如果以上正确 - 如何在服务器上保存刷新令牌?另一方面,我需要用户的标识符,不是吗?因为如果另一个人来了,我应该使用她的刷新令牌生成她的访问令牌。我应该找到数据库中是否有她的刷新令牌。但是如何查看如果我没有任何标识符?

我在 API 上没有任何用户标识符: https ://developers.google.com/drive/v2/reference/about#resource

4

1 回答 1

1

1)这是正确的,您的应用在用户第一次授予访问权限时会收到访问令牌和刷新令牌。访问令牌是短暂的,而刷新令牌很少过期,除非用户手动撤销它。当用户回到您的应用程序时,如果您有一个存储的刷新令牌,您可以使用它来检索访问令牌,而无需任何用户交互

2)您应该使用永久存储解决方案,例如数据库。密钥应该是从用户信息服务中检索到的用户 ID。

有关更多详细信息,请查看https://developers.google.com/drive/about-auth

于 2013-03-06T20:43:14.760 回答