【发布时间】:2017-08-23 13:53:51
【问题描述】:
我们正在为 google home 构建一个使用 google 操作的智能家居应用。我们的应用程序需要登录我们的系统才能访问用户的设备,以便他们可以使用他们的语音通过谷歌主页控制他们。我们的用户后端是使用 AWS Cognito 构建的。我们将 API.AI 用作 Google Home 应用的一部分。
我已经配置了 Cognito OAUTH2 端点和谷歌应用程序上的操作,以使用身份验证代码流和不同的范围相互协作,但我缺少一些东西。当我尝试将用户帐户链接到 Google Home 应用程序时,我被重定向到我们的登录页面。填写用户详细信息后,我返回到 Google Home 的“发现”选项卡,但底部有一条消息指出:“身份验证代码交换中 IdP 的响应错误”。
我也尝试过使用 Google 的 OAUTH2 Playground。似乎在使用它时,我能够从我们的 OATUH 服务器获取代码,但是在尝试将代码交换为令牌时,我收到以下错误:
HTTP/1.1 400 Bad Request
Strict-transport-security: max-age=31536000 ; includeSubDomains
X-content-type-options: nosniff
X-application-context: application:prod:8443
Transfer-encoding: chunked
Set-cookie: XSRF-TOKEN=35f58337-76f4-4993-a0c9-93429134ea42; Path=/; Secure; HttpOnly
Expires: 0
Server: Server
Connection: keep-alive
X-amz-request-id: 284d862e-b021-4079-b5f5-3cbce675983c
X-xss-protection: 1; mode=block
Pragma: no-cache
Cache-control: no-cache, no-store, max-age=0, must-revalidate
Date: Wed, 23 Aug 2017 13:51:42 GMT
X-frame-options: DENY
Content-type: application/json;charset=UTF-8
{
"error": "invalid_client"
}
我已经检查并重新检查了客户端 ID 和客户端密码等,没有发现任何错误。
有人知道我该如何解决这个问题吗?
提前致谢
【问题讨论】:
-
我遇到了类似的问题,通过 OAuth2 Playground 一切正常,我获得了 AUTH 令牌,然后将其交换为 ACCESS 令牌,然后我可以向我的应用程序提交请求,一切正常美好的。当我尝试通过模拟器使用它时,我被重定向到空白页面,并有机会重新运行流程。如果我尝试我的应用程序,它只是无法正确验证
-
@Gazeth 当您说“如果我尝试使用我的应用”时,您是指手机上 Google Home 应用中的 Google Home“应用”还是实际手机应用中的 Google Home“应用”?
-
我的意思是我在 google home 应用中的尝试。我输入“与 CMAP 对话”,它会给我一张卡片来链接我点击的帐户,填写我的登录详细信息,但身份验证从未正确通过
-
在google home应用中运行时,底部是否显示错误信息?如果它不能正常工作,底部应该有一个灰色条,其中包含某种错误消息。另外,我能问一下你在写什么类型的应用程序吗?是用于智能家居设备吗?纯粹的对话应用?
-
没有收到任何消息,该应用程序正在连接到我们的 SAAS 产品,以使用户能够询问有关他们的日程安排和项目状态的问题
标签: oauth-2.0 actions-on-google google-home