使用 Google Sign-in 按钮在没有服务器的情况下验证用户

Use Google Sign-in Button to authenticate users without sever

Google 提供了一个简单的 sign-in 按钮: https://developers.google.com/identity/sign-in/web/sign-in#before_you_begin

此按钮会调用一个函数,"onSignIn" 成功登录后

<div class="g-signin2" data-onsuccess="onSignIn"></div>

我正在考虑在 "onSignIn" 函数中调用我的 API 之一并生成令牌并保存在用户的浏览器中。下次当用户发送 API 请求时,我计划在 header 中使用这些令牌来验证 API 访问。

这是使用此 Google 小部件的合法方式吗?或者我实际上必须使用 OAuth 之类的?

坦率地说,您不需要在 API 端点生成额外的令牌,因为 Google ID tokens 可以满足您的确切需求。

因此考虑将用户的 ID 令牌发送到您的 API,然后在服务器上将 ID 令牌的 verify the integrity 发送给用户权限。

此外,如果您需要将附加信息与每个用户相关联session/account,则可以将相同的体系结构与补充数据库一起使用。如需更全面的指南,请参阅 this 文章。