繁体   English   中英

使用 Node.js 验证 Google Identity CredentialResponse JWT

[英]Validate Google Identity CredentialResponse JWT using Node.js

我目前正在使用回调方法在我的网站上实施Sign in With Google 到目前为止它有效; 用户单击按钮,进行网络调用,并返回 JWT。

此时我想解析并验证JWT。当然,我不希望客户端只是向服务器发送一个email地址并让服务器创建一个帐户。 相反,我想将 JWT 传递给服务器,验证它的 Google 真实性,然后提取并使用 email。

最直接的方法是什么? 当然,Google Developers 站点链接到一些,但它们都没有具体说明如何验证 Google Identity 响应。

我已经走到这一步了,使用 Jose npm package,但 Google Developers 文档没有列出从哪里获取密钥:

const parsed = await jose.jwtVerify(req.body.jwt.credential, MAGICAL_PUBLIC_KEY, {
  issuer: 'https://accounts.google.com',
  audience: GOOGLE_CLIENT_ID, // provided by developer console
});

void parsed.email;

这一切似乎都应该由google-auth-library库处理,但它只有执行 OAuth 舞蹈服务器端的示例。

经过进一步研究,我确实找到了一个页面,记录了如何使用 google-auth-library: https://developers.google.com/identity/gsi/web/guides/verify-google-id-token

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM