我正在为GoogleAssistant构建一个操作,我正在尝试使用帐户链接和这里描述的登录选项https://developers.google.com/assistant/identity/google-sign-in
这一切都是正确的,我在我的场景流中获得了所有正确的条件,相信用户已正确验证,并且他的帐户已链接
现在我的问题是,我在任何地方都找不到文档中命名的Google Id。 更具体地说,我现在在文档中:
它明确地说“在用户授权您的操作访问他们的Google配置文件后,您将收到一个Google ID令牌,该令牌在您的操作的每个后续请求中包含用户的Google配置文件信息。”但我在对我的webhook的请求中找不到它
下面是我得到的请求正文的一个示例:
{
"handler": {
"name": "testScene"
},
"intent": {
"name": "",
"params": {
"AccountLinkingSlot": {
"original": "",
"resolved": "LINKED"
}
},
"query": ""
},
"scene": {
"name": "TestScene",
"slotFillingStatus": "UNSPECIFIED",
"slots": {},
"next": {
"name": "actions.scene.END_CONVERSATION"
}
},
"session": {
"id": "ABwppHEW23oRCX4FofxCg_rIDBo9UepL-Tw6u-AV3vKTzPoC6c9wkP0xjG7DoGqEZOWA2tlMYtcsbDcmQUw",
"params": {
"AccountLinkingSlot": "LINKED"
},
"typeOverrides": [],
"languageCode": ""
},
"user": {
"locale": "en-US",
"params": {},
"accountLinkingStatus": "LINKED",
"verificationStatus": "VERIFIED",
"packageEntitlements": [],
"lastSeenTime": "2020-10-27T20:35:59Z"
},
"home": {
"params": {}
},
"device": {
"capabilities": [
"SPEECH",
"RICH_RESPONSE",
"LONG_FORM_AUDIO"
]
}
}
我只发现,如果你使用nodejs,你可以在你的系统中放置你自己的客户端id,它会处理好它,但是我使用的是fastApi(Python),除了在已经链接的文档中编写的内容之外,在文档中找不到任何关于要做什么的内容
任何帮助都将不胜感激
我想我是在随意环顾四周时找到答案的。希望这将是有用的
在我从google获得的请求标题中,有两个标题:
两者都具有我期望在Json Web令牌中看到的典型的三部分点分隔格式
现在,我尝试使用从文档https://www.googleapis.com/oauth2/v3/certs中的url获得的两个密钥对它们进行解密,显然,这两个密钥中的第一个是执行此任务的有效密钥
授权令牌包含我正在查找的用户数据
还有一些问题没有回答:
相关问题 更多 >
编程相关推荐