我正在开发一种需要帐户关联的alexa技能。帐户链接首先成功2次(启用技能 - 禁用它 - 并再次重新启用该技能)。只有在禁用技能后立即重新启用时,帐户链接才会失败。我使用Code grant auth类型。数据(在查询字符串状态/代码/等中)被成功重定向回亚马逊的重定向/返回URL值。但亚马逊结束了帐户关联过程,并显示一条消息,指出此时帐户关联过程失败。谁能有任何想法?非常感谢您的帮助。
答案 0 :(得分:0)
答案:最后我弄明白了这个问题。授权服务器在2台机器(instanes)中运行。授权服务器使用并发字典来存储访问令牌。并发字典使用本地内存(在proc内存中)。在身份验证期间,亚马逊连接到其中一个Auth服务器; Auth服务器将访问代码存储在其内存存储中。当亚马逊尝试使用先前返回到Amazom的代码值从我的授权服务器获取访问代码时,第二个授权服务器被命中。第二个auth服务器没有amazon提供的代码的访问令牌,因此它使请求无效。解决方案是使用共享存储(进程内存,如REDIS缓存)来存储访问代码。这样两个授权服务器都可以通过引用同一个商店来提供请求。