在OAuth2过程中唯一标识用户

问题描述 投票:1回答:1

我建立了一个flask / python网站,可以在用户的​​Google日历上创建和编辑事件。显然,用户必须通过OAuth2授予​​他们的权限(我很难理解,但最终还是成功了)。目前,我正在强迫用户注册并登录我的网站,我存储各种用户设置以及刷新令牌,这些令牌附加到他们在我的网站注册时选择的任何用户名...。但是现在,我希望用户能够允许用户无需注册即可使用我的网站。我仍然想存储用户设置和刷新令牌,但是现在我需要某种标签来标识用户,因此我知道他们回来时就是他们(也许他们将从另一台PC访问我的网站)。作为OAuth2流程的一部分,是否有一些我可以访问的字符串,可以用来唯一标识用户,还是我需要做一些额外的步骤来抓取这样的字符串...

python flask oauth-2.0 google-calendar-api
1个回答
0
投票

通过OAuth 2.0唯一标识Google用户的一种方法是记录用户的唯一标识符。该标识符称为id对象的Source属性。

要读取该标识符,您需要使用People.get()作为People.get()people/me作为resourceName来调用metadata。第一个值将标识授权帐户为我们感兴趣的帐户。在第二个参数personFields中,我们指示我们想要有关目标帐户的元数据。本身并不需要后者,但是因为我们需要在personFields中填写一个有效值。总之,请求应如下所示(如果使用personFields完成):

cURL

有了该请求,您将得到一个JSON响应,第一行将显示为:

curl \
  'https://people.googleapis.com/v1/people/me?personFields=metadata&key={API KEY}' \
  --header 'Authorization: Bearer {ACCESS TOKEN}' \
  --header 'Accept: application/json' \
  --compressed`

这就是您要用于用户识别的{ "resourceName": "people/{ID HERE}", … 。请问我任何问题是否需要更多帮助。

© www.soinside.com 2019 - 2024. All rights reserved.