【发布时间】:2018-03-25 22:11:31
【问题描述】:
我有启用帐户关联的 Google 助理应用。使用“授权码”流程将帐户链接到应用程序时出现错误。
我通过 oauthplayground (https://developers.google.com/oauthplayground) 测试了授权代码帐户链接流程。我正在获取 Auth 代码,后来用它来正确生成 access_token 和 refresh_token。
但是,当我使用 Assistant auth handoff url (https://assistant.google.com/services/auth/handoffs/auth/start?account_name={accountname}&provider={projectid}&scopes=openid+email+profile&return_url=https://www.google.com) 进行实际帐户链接时,我收到链接错误。
用户流:
启动 OAuth 流程后,用户通过登录然后提供他们的同意。同意步骤完成后,用户将被重定向回原始的 redirect_uri,其中包含身份验证代码和状态值。
例如: https://oauth-redirect.googleusercontent.com/r/{projectid}?code={授权码}&state={状态值}
此页面将用户重定向到 oauth 完成页面并正确传递状态和代码值。
前任:
https://assistant.google.com/services/auth/handoffs/auth/complete?state={状态值}&code={授权码}
用户在身份验证流程结束时被重定向到以下 URL: https://www.google.com/?result_code=FAILURE&result_message=Account+linking+failed
我的身份验证服务提供商正在正确返回有效代码和状态。 我的令牌服务正在返回有效的令牌信息以换取身份验证码。 回复如下:
{
"access_token": "<access token>",
"token_type": "Bearer",
"expires_in": 120,
"refresh_token": "<refresh token>"
}
非常感谢任何帮助。
【问题讨论】:
-
您能否更新您的问题以澄清(并删除敏感信息)您在帐户链接的最后阶段(导致失败代码的交换)以及您返回的内容?
-
谢谢。我已更新问题以添加步骤和用户流程以及请求和响应。
标签: oauth-2.0 google-oauth actions-on-google google-home