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

问题描述

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

用户设备上成功登录后,我的客户端应用会获得一个 ID 令牌。我将此令牌发送到我的后端以使用 Google 提供的库进行验证。一切正常。

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

我可以使用这个 ID 令牌“ad-vitam-eternam”吗?我可以依靠此令牌在我的后端安全地验证用户身份吗?如果是这样,我应该将它存储在 KstestResult(statistic=0.7929187086107005,pvalue=3.34390068700874e-05) cookie 客户端吗?

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

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

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

非常感谢您的澄清

解决方法

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

ID 令牌的生命周期通常很短,因此它只能用于创建本地用户/身份。因此,实际上没有必要将此令牌存储在 cookie 中。

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

,

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