使用新的 Google 身份服务 Web API 进行会话管理

Twi*_*olf 5 javascript vue.js google-signin

我刚刚开始开发一个新的 Web 应用程序,我想使用 google 的 OAuth 流程来实现帐户创建/登录。我注意到他们正在停止大多数人正在使用的 API。 https://developers.google.com/identity/sign-in/web/sign-in。我试图了解新 API ( https://developers.google.com/identity/gsi/web ) 的流程是如何工作的。

根据我的尝试,该 API 仅使用单个访问令牌进行响应,这在其有效期限 15 分钟内没有问题,但我不希望我的用户每次重新访问该网站时都必须执行登录过程。API 中似乎没有一种无需用户参与即可刷新访问令牌的方法。

我觉得我错过了一个步骤,因为这根本不像现有 API 的替代品。

基本上我是在问这个新 API 是否具有任何会话管理功能。如果不是,我现在应该只使用已弃用的 API 吗?

小智 2

为了大致了解登录过程中发生的情况,恕我直言,值得花五分钟或更短的时间阅读它的工作原理,以对正在发生的事情有一个高层次的了解。

回答您的具体问题:

不再使用访问令牌,也不再使用刷新令牌。相反,会共享 JWT ID 令牌。JWT 不会过期,但会经过签名,您需要验证它们。迁移指南的令牌响应部分提供了有关切换到 JWT 的更多详细信息。

对于会话状态,您需要注意有两种会话状态 1) 用户与其 Google 帐户之间 2) 用户与您的应用程序之间。两者是独立的。以前的库包含一些辅助函数来帮助您查看 1,但它的一个副作用是它使 1 和 2 之间的区别变得模糊和不清楚。会话状态和监听器还有更多。