Alexa A / C链接用于自定义技能和令牌刷新说明

时间:2019-01-09 09:49:25

标签: alexa alexa-skills-kit alexa-skill alexa-app

我们已使用“授权代码授予”选项为Alexa自定义技能配置了一个空调链接。链接工作正常,但只想澄清一些事情-

1)在A / C链接设置中,我们有一个选项“默认访问令牌到期时间”。 Alexa是否会在此处以指定的间隔自动刷新访问令牌?

2)如果我完成了A / C链接,然后保持空闲状态,即长时间(2周)不使用我的Alexa设备。它会继续保持指定时间间隔刷新令牌还是仅在使用设置时刷新令牌?

3)在刷新令牌时,我认为Alexa期望授权服务器在4.5秒内做出响应。如果授权服务器在尝试刷新令牌时由于某种原因而停机,它会一直尝试直到收到新的访问令牌还是在几次重试后停止吗?

任何上面的输入将不胜感激。

2 个答案:

答案 0 :(得分:1)

  1. 否,Alexa不会自动刷新访问令牌,仅在用户访问您的技能并且access_token过期并具有refresh_token时才会刷新。另外,如果身份提供者未返回Default Access Token Expiration Time,则使用expires_in中此处指定的值。

  2. 仅当用户使用您的技能并且access_token过期且具有refresh_token时。

  3. 是的,只要更早提供了refresh_token并且用户没有禁用并重新启用您的技能即可。

答案 1 :(得分:0)

仅适用于Google:由于Google的oauth体系结构,仅在用户首次授权时才提供refresh_token。如果您多次授权同一帐户(例如,在测试时),则该特定帐户将不会返回refresh_token,因此,当我们的服务请求一个时,将不会返回任何密码。从Google进行查询时,也有可能没有设置access_type = offline,这意味着您没有在请求刷新令牌。要修复任何特定的帐户以使用刷新令牌,请转到https://www.google.com/settings/u/1/security并撤消您应用程序的访问权限。然后,下次进行身份验证时,会将其视为首次身份验证,并且该技能应再次正确刷新。

来自https://forums.developer.amazon.com/articles/38610/alexa-debugging-account-linking.html