【问题标题】:Can I use an ID Token for user authentication?我可以使用 ID Token 进行用户身份验证吗?
【发布时间】:2021-01-11 06:14:34
【问题描述】:

我正在开发一个带有本机 Google 身份验证的 Cordova 应用程序。我只想让用户使用“使用 Google 登录”按钮创建他们的帐户和/或登录我的应用程序。仅此而已。

在用户设备上成功登录后,我的客户端应用程序将获得一个 ID 令牌。我使用 Google 提供的库将此令牌发送到我的后端进行验证。一切都很好。

现在呢?什么是最好的?

我可以使用这个 ID 令牌“ad-vitam-eternam”吗?我可以依靠这个令牌在我的后端安全地对用户进行身份验证吗?如果是这样,我应该将它存储在httpOnly cookie 客户端吗?

谷歌说我应该create a session。就像在 PHP 会话中一样?这不是一个非常 REST 的事情。

这是否意味着我必须在 ID 令牌验证后制作自己的令牌?

我知道存在很多文档,但它是压倒性的,并不总是那么容易。

非常感谢您的澄清

【问题讨论】:

    标签: oauth-2.0 oauth google-oauth openid google-openid


    【解决方案1】:

    如果您正确验证了 ID 令牌,那么您可以相信它是一个真正的令牌并基于此创建一个本地用户。获得 ID-token 后,您可以创建本地 PHP-session 并将令牌存储在 cookie 或内存中。

    ID-token 的生命周期通常很短,因此它只应该用于创建本地用户/身份。所以没有必要将此令牌存储在 cookie 中。

    除了 ID 令牌,您还可能获得访问令牌。如果您想这样做,您可以使用此访问令牌来访问 Google API。

    【讨论】:

      【解决方案2】:

      经过一番挖掘,我找到了this webpage。颁发的令牌有效期为一个小时,所以我将使用它来进行无状态会话。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-23
        • 2010-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多