我可以使用 ID Token 进行用户身份验证吗?

Can I use an ID Token for user authentication?

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

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

现在呢?最好的做法是什么?

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

Google 说我应该 create a session。在 PHP 会话中?这不是一件非常 REST 的事情。

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

我知道有很多文档存在,但文档太多而且并不总是那么容易。

非常感谢您的说明

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

ID 令牌的生命周期通常很短,因此只能用于创建本地 user/identity。所以没有真正需要将此令牌存储在 cookie 中。

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

在进一步挖掘之后,我发现了 this webpage。颁发的令牌有效期为一个小时,所以我将使用它来进行无状态会话。