代码之家  ›  专栏  ›  技术社区  ›  spechter

谷歌帐户链接过程中的行动点击令牌网址前授权网址?

  •  1
  • spechter  · 技术社区  · 6 年前

    我们正努力支持“传统”账户连接流,因为它似乎是最通用的,给了我们一个浮出水面的机会;C的,我们认为这是最适合的。

    在Dev的Actions应用程序中,当用户看到带有“linkaccounts”选项的助手应用程序中的Google驱动弹出窗口时,大多数用户都会失败,他们会点击该选项,而我们的授权屏幕不会出现。

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

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

    奇怪的是,如果我们在 失败的案例 ,我们看到的唯一点击是我们的“TOKEN URL”,而我的理解是一个新链接的用户应该在点击TOKEN之前点击我们的“Authorization URL”。

    如果有人能回答以下任何问题,请随时畅所欲言:

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

    一个应用程序需要在Alpha测试,或类似的帐户链接工作之前?

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

    有没有人有一个虚拟/HelloWorld帐户链接我们可以测试的web端点(这对开发者社区来说很方便!)

    1 回复  |  直到 6 年前
        1
  •  1
  •   Prisoner    6 年前

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

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

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

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

      • 您是否记录正在发行的代币?你能?
      • 与令牌一起发送的其他信息(如 client_id client_secret ?

    需要用阿尔法吗?

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

    这正常吗?

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

    如果您得到一个无效的身份验证代码或刷新令牌,或者令牌端点提供的任何其他信息与它应该得到的不匹配,那么 必须 返回HTTP错误代码400“Bad Request”,并将JSON作为主体包含

    {"error": "invalid_grant"}
    

    这个 强制它与用户一起通过reauth。

    有公共测试服务器吗?

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