帐户关联 Google 助理

Account linking Google Assistant

我实际上是在寻找有关 Google 助手帐户链接问题的答案。

抱歉,屏幕是法语的,但如果需要理解,我可以全部翻译。

我遵循 google 帐户链接文档,直到 "implement your Oauth server"

https://developers.google.com/assistant/identity/oauth2?oauth=implicit

第一个:

在 google 操作中,这是我的帐户链接配置:

接下来我要尝试在我的应用程序上授权我:

我必须登录 Google 家庭 APP。

我说,"talk to my test app:"

并且 google 使用授权页面在我的 API 上重定向我。

我提供我的密码和我的电子邮件。

授权在我的 API 上有效,但不幸的是,在重定向后 google 助手上显示错误...

英文错误信息是:"Sorry, an error occured. I didn't succeed to sign-up. You can try again later."

我不明白为什么会出现此错误...

URL GET 授权是:

http://f8f73376.ngrok.io/api/auth/authorize?redirect_uri=https%3A%2F%2Foauth-redirect.googleusercontent.com%2Fr%2Farlex-ccevqe&client_id=*clientid*&response_type=code&state=AB8b_TOd3At3ADLyuTi9k02War1fEmzT8vBeXxgHidVA5zTHVmVmE536Sjw60EAK_rUfb4Ie84Ly2l6E5AfW-F_Eo3hipueQzGbnEfpGlUHdhIeTQyfJYCk2I5-yT_n6vceOYeVlYfXF-frpVoiSCH9K2ns-7rbbgq3wEX2Px0DX3QH5ijgSsT7lvr0vOHECCCzTav9ldYf4G-EcruSModayIhIYBMKjKUQJqddBjJZ5JyCEE0cOJNvOeI13T35WoJ8_0HYoX2BXRYKGUJLiEOHX_cNlLWmcL1Y5wzDze6wa-qTM7Hvg7cutqO_u9pnhNWeMDkMgQljpSfUzyP7Ry1iWziE64nMtDmhxA48Qbufm-bRjpTRTCOBQN-_gLmx1aT2bBGTouSyg6cNY8E33HCzsp7H8qRfKYTdZ_Ga0IJcOam9MjNp2XFfgrw0uV7TTLig2LmYyJG_d-6urRGBY-xcwRxWkp7vCUtWvY6CXEZsF42rTjXYk-kr8xraS-2tNvgavhLASGvVVVgIg0AVSNZLdw9qvQMM-4NRFwsrAkZWz08kO493_lvA&user_locale=fr-FR

我为重定向发送的 URL 是:

https://oauth-redirect.googleusercontent.com/r/arlex-ccevqe#access_token=65cc814038a84114b8922b47eebc45cb&token_type=bearer&state=AB8b_TOd3At3ADLyuTi9k02War1fEmzT8vBeXxgHidVA5zTHVmVmE536Sjw60EAK_rUfb4Ie84Ly2l6E5AfW-F_Eo3hipueQzGbnEfpGlUHdhIeTQyfJYCk2I5-yT_n6vceOYeVlYfXF-frpVoiSCH9K2ns-7rbbgq3wEX2Px0DX3QH5ijgSsT7lvr0vOHECCCzTav9ldYf4G-EcruSModayIhIYBMKjKUQJqddBjJZ5JyCEE0cOJNvOeI13T35WoJ8_0HYoX2BXRYKGUJLiEOHX_cNlLWmcL1Y5wzDze6wa-qTM7Hvg7cutqO_u9pnhNWeMDkMgQljpSfUzyP7Ry1iWziE64nMtDmhxA48Qbufm-bRjpTRTCOBQN-_gLmx1aT2bBGTouSyg6cNY8E33HCzsp7H8qRfKYTdZ_Ga0IJcOam9MjNp2XFfgrw0uV7TTLig2LmYyJG_d-6urRGBY-xcwRxWkp7vCUtWvY6CXEZsF42rTjXYk-kr8xraS-2tNvgavhLASGvVVVgIg0AVSNZLdw9qvQMM-4NRFwsrAkZWz08kO493_lvA

您可以使用两种可能的 OAuth2 流程:隐式(或 "token")和授权码(或 "code")。虽然它们很相似,但两者在某些参数的值、这些参数的发送方式以及每个流还需要支持什么方面存在一些显着差异。

虽然您提供的 URL 表明您遵循 "Implicit" 流程,但您的屏幕截图显示您在 Google 上设置了操作以期待授权代码流程。此外,Google 向您发送 URL 和 response_type=code,并且您使用包含散列和 access_token 参数的重定向进行响应,这是隐式流程所期望的.

看起来您已经设置了大部分内容以使用隐式流,因此最简单的解决方案是在 Google 控制台上的操作中更改此配置。如果您需要授权代码流提供的功能(最值得注意的是,令牌的生命周期有限),那么您应该相应地调整您的服务器。