Google Actions 身份验证流程未发送 JWT 令牌,如何验证提供的令牌?

Google Actions Authentication flow not sending JWT token, how to validate the token provided?

我正在尝试为我的 google 家庭兼容 google-actions 后端实施 OAuth 身份验证,但我不确定如何验证 google 给我的令牌授权 header,我期待一个 JWT 令牌,但它不是。

我在 express 和 node.js 上做后端,express-jwt 解析令牌,jwks-rsa 获取加密密钥。我已经根据 this guide 松散地设置了我的 Auth0 租户,它工作正常,登录屏幕出现并且工作正常。

发送给我的令牌示例 google 与

类似
authorization:"Bearer msuVRoQGJ_aPqH-zShLq053aAEVmlHqi"

我期待 google 与 Auth0 通信以交换 JWT 令牌,然后通过将其作为授权 header 发送来使用它对我的 API 进行身份验证。但我不知道 google 发送的不记名令牌是什么,或者我如何验证它。

默认情况下,当您授权非自定义 API(类似于您收到的)时,Auth0 会向您发送一个不透明的 access token。 JWT 访问令牌仅颁发给自定义 APIs。所以为了得到JWT格式,你需要在Auth0中创建一个API,并将你定义的API identifier设置为audience参数。

您将为自定义 API 颁发 JWT 访问令牌,您可以验证和验证它的完整性(有一个关于如何在 Nodejs 中执行此操作的示例):https://auth0.com/docs/api-auth/tutorials/verify-access-token