Actions on google 谷歌账户链接过程中的操作在授权URL之前点击令牌URL?

Actions on google 谷歌账户链接过程中的操作在授权URL之前点击令牌URL?,actions-on-google,Actions On Google,我们正试图支持“传统”账户链接流,因为这似乎是最普遍的用途,给了我们一个展示T&C的机会,我们认为这将是最受欢迎的 但是对于初学者来说,在助手移动应用程序中进行测试时,对于我们在开发中的Actions应用程序中的大多数用户来说都失败了-在用户看到助手应用程序中带有“链接帐户”选项的Google驱动弹出窗口后,他们点击该选项,我们的授权屏幕不会出现。 Actions support查看了我们的帐户链接配置,没有发现任何问题 一些使用较新安卓手机的测试用户确实看到了我们的授权屏幕,但大多数用户没有看

我们正试图支持“传统”账户链接流,因为这似乎是最普遍的用途,给了我们一个展示T&C的机会,我们认为这将是最受欢迎的

但是对于初学者来说,在助手移动应用程序中进行测试时,对于我们在开发中的Actions应用程序中的大多数用户来说都失败了-在用户看到助手应用程序中带有“链接帐户”选项的Google驱动弹出窗口后,他们点击该选项,我们的授权屏幕不会出现。

Actions support查看了我们的帐户链接配置,没有发现任何问题

一些使用较新安卓手机的测试用户确实看到了我们的授权屏幕,但大多数用户没有看到

如果我们通过粘贴到同一设备上的浏览器来测试授权URL,它总是显示得很好

奇怪的是,如果我们在失败案例期间查看web服务器日志,我们看到的唯一点击是我们的“令牌URL”,而我的理解是,新链接用户应该在点击令牌之前点击我们的“授权URL”。 正如预期的那样,成功的案例确实首先命中了我们的授权URL

如果有人能回答以下任何一个问题,请随意说出:

你知道是什么导致了这里的问题吗

或者我们可以深入调查的方式

在帐户链接工作之前,应用程序是否需要进行Alpha测试或类似的测试

对于从未成功链接帐户的用户,点击令牌URL是否正常/预期

有人能确认在这种情况下令牌获取响应应该是什么吗?(也许我们的回应方式没有让对方满意)


是否有人拥有虚拟/HelloWorld帐户链接我们可以测试的web端点?(天哪,这对开发人员社区来说很方便!)

我不知道到底发生了什么,但是有一些关于发生了什么以及调查的途径的提示。我将假设您只使用OAuth进行帐户链接。如果您同时使用“GoogleSigninforAssistant和OAuth”,这可能会改变一些事情。要回答您的一些问题:

什么会导致助手转到令牌端点而不是身份验证端点?

它不会转到令牌端点,除非它已经有令牌。我可以想到一些可能的情况:

  • 如果它要进行身份验证,则会获得一个令牌,因为它已被授权,所以不会弹出任何窗口。(但您指出它不会进入该页面。)

  • 如果相关账户已通过其他方式授权给项目。您可以检查它是否已被授权

  • 如果您以前使用此帐户对其进行过测试,并且从那时起它就拥有一个令牌。如果是,则应列在。可能吧

  • 如果您没有使用您认为您正在使用的有关设备上的帐户

如何对此进行调查?

一旦你仔细检查了一些更明显的事情(使用正确的账户?):

  • 查看发送到令牌端点的内容
    • 代币看起来熟悉吗?两次电话之间是一样的吗?不同帐户之间的相同
    • 您是否记录正在发放的代币?你能吗
    • 与令牌一起发送的其他信息,如
      客户机id
      客户机机密
      ,如何处理
是否需要使用Alpha格式?

我不确定。上次我检查时,它没有。我确实认为它不再在模拟器中工作,这很烦人,但不需要在Alpha中

但是,这确实使检查变得有点困难,因为没有目录页可以告诉您帐户是否已链接。如果您的应用是:

这正常吗?

我不这么认为。除非它具有要交换的身份验证代码或刷新令牌,否则它不应该命中令牌端点。它必须有来自某处的代码/令牌

你应该如何回应?

如果您获得的身份验证代码或刷新令牌无效,或者令牌端点提供的任何其他信息与它应该提供的不匹配,则必须返回HTTP错误代码400“错误请求”,并将JSON作为正文包含

{"error": "invalid_grant"}
这将强制它与用户进行重新授权

是否有公共测试服务器?


它不是完全公开的,但基本上是免费的,并且非常适合用于测试目的。

一如既往,您是知识的一种字体@囚徒。我想你们可能会发现“必须返回HTTP 400”的问题。看来我们的代币端点可能会用另一种回应来解救。将确认并返回。我猜,如果AoG框架认为用户有可能已经链接,那么它会非常机会主义/乐观地攻击令牌端点——我们可能每次都会失败。我们会看到的。让我困惑的是,它需要用一些东西击中令牌端点。我最感兴趣的是听它用什么打击它,以及它为什么这么想。我很想听听你的调查结果。希望这有帮助!答案是肯定的。关键在于令牌URL“必须返回HTTP 400”和必需的内容。当我们纠正这一点时,它开始起作用。因此,如果令牌URL正确返回错误,那么首先命中它并不重要。现在还不清楚为什么它在授权之前会点击令牌URL,但我们将测试更多,看看谷歌支持是否有任何想法。但我们正在前进。好极了谢谢@capital.很高兴这有帮助!我仍然有点好奇令牌端点的价值是什么,但很高兴您能够前进。