【问题标题】:Google API: Authenticating with oauth user idGoogle API:使用 oauth 用户 ID 进行身份验证
【发布时间】:2015-08-03 19:44:40
【问题描述】:

谷歌用户在我的网站上进行身份验证后,使用谷歌 JS API,我得到用户的电子邮件、姓名、用户 ID 等。 我正在寻找一种方法将用户存储在我的服务器端并在他下次回来时识别他/她。

我找到的解决方案是:“用户 ID 是您唯一需要存储在数据库中以使用您的 Web 框架对用户进行身份验证的东西”。

但我注意到,google 用户 id 永远不会改变,此外,您可以在 google plus 上看到每个用户 id。这意味着,我的网站用户很容易被冒充。我应该使用什么来针对服务器端对我的 google oauth 用户进行身份验证?

【问题讨论】:

    标签: authentication oauth google-api server-side


    【解决方案1】:
    1. 获取用户access_token并将其发送到服务器。
    2. 让服务器向tokeninfo 端点发出请求。
    3. 存储 user_id 响应以将用户与未来的请求相关联。

    access_token 是只有当前经过身份验证的用户知道的秘密,只要它有效,您就可以假定来自 Google 的 API 响应属于该用户。

    【讨论】:

    • 我希望我可以在服务器端没有 oauth 库的情况下解决这个问题,但似乎我做不到。由于我有一个 rest api 并且我不想对每个请求进行外部身份验证调用,我将执行以下操作:1)在客户端获取用户 access_token 并将其发送到服务器 2)针对外部 oauth 服务验证 auth_token 3)获取用户的数据并在需要时注册他/她 4) 生成一个随机的用户特定令牌。响应它 5) 使用以下所有请求验证服务器生成的令牌。
    猜你喜欢
    • 2012-11-27
    • 1970-01-01
    • 2011-10-20
    • 2021-01-16
    • 2018-06-07
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    相关资源
    最近更新 更多