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

时间:2018-12-30 14:06:51

标签: node.js oauth actions-on-google auth0 google-home

我正在尝试对符合Google Home的google-actions后端实施OAuth身份验证,但是我不确定如何验证google在授权标头上给我的令牌,我期望使用JWT令牌,但是不是。

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

Google发送给我的令牌的示例类似于

authorization:"Bearer msuVRoQGJ_aPqH-zShLq053aAEVmlHqi"

我希望google与Auth0通信以交换JWT令牌,然后通过将其作为授权标头发送来使用它来向我的API进行身份验证。但我不知道google发送的承载令牌是什么或如何验证它。

1 个答案:

答案 0 :(得分:1)

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

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