【问题标题】:Account linking is failing for Google Actions after successful auth code and access token验证码和访问令牌成功后,Google Actions 的帐户关联失败
【发布时间】: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


【解决方案1】:

我认为,这是一个缓存问题。现在可以正常使用了。

在流程结束时,用户将被重定向到 google.com,并显示成功结果代码。

即:https://www.google.com/?result_code=SUCCESS&result_message=Accounts+now+linked

自过去 2 天以来,我已经完成了所有步骤,并且在代码或配置方面我没有更新任何内容。早些时候它没有工作。但是,现在它可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多