Alexa a/c 使用相同授权服务器 URI 问题链接多个技能
Alexa a/c linking for multiple skills using same authorisation server URI issue
我们开发了2项技能,一项智能家居技能和一项自定义技能。这两种技能都需要 a/c linking 并使用相同的授权服务器 URI。当我们为它们 link a/c 时一切正常,但是当它在到期后刷新访问令牌时,其中一项技能随机给出 a/c linking 错误。
我们不确定内部如何管理访问令牌和刷新令牌。但是这里似乎正在发生的事情是 - 无论哪种技能首先刷新访问令牌,都可以继续正常工作,而其他技能可能会尝试使用已经使用过一次的相同旧刷新令牌来刷新访问令牌?
谁能澄清一下
- 我们可以使用相同的授权服务器 URI 来执行 a/c linking 多个技能吗?
- 如果是,那么我们是否遗漏了导致上述问题的某些内容?
经过长时间的斗争,我们找到了根本原因。可以对多个技能使用相同的授权 URI。但是我们应该为每个技能使用单独的 Client ID
和 Client Secret
对。它有助于每个技能拥有自己的一组 access_token
和 refresh_token
,而不是在所有技能之间共享相同的标记。
在我们的例子中,我们在我们的平台中创建了单独的服务来获得单独的一对 Client ID
和 Client Secret
。用相同的方式更新 a/c 链接配置后,两种技能都可以正常工作。
我们开发了2项技能,一项智能家居技能和一项自定义技能。这两种技能都需要 a/c linking 并使用相同的授权服务器 URI。当我们为它们 link a/c 时一切正常,但是当它在到期后刷新访问令牌时,其中一项技能随机给出 a/c linking 错误。
我们不确定内部如何管理访问令牌和刷新令牌。但是这里似乎正在发生的事情是 - 无论哪种技能首先刷新访问令牌,都可以继续正常工作,而其他技能可能会尝试使用已经使用过一次的相同旧刷新令牌来刷新访问令牌?
谁能澄清一下
- 我们可以使用相同的授权服务器 URI 来执行 a/c linking 多个技能吗?
- 如果是,那么我们是否遗漏了导致上述问题的某些内容?
经过长时间的斗争,我们找到了根本原因。可以对多个技能使用相同的授权 URI。但是我们应该为每个技能使用单独的 Client ID
和 Client Secret
对。它有助于每个技能拥有自己的一组 access_token
和 refresh_token
,而不是在所有技能之间共享相同的标记。
在我们的例子中,我们在我们的平台中创建了单独的服务来获得单独的一对 Client ID
和 Client Secret
。用相同的方式更新 a/c 链接配置后,两种技能都可以正常工作。