1

我的技能需要帐户链接,它将通过 OAuth 2.0 协议使用 AWS cognito 用户池对客户进行身份验证。我可以在用户池中指定刷新令牌的 TTL,我决定让它有效期为 60 天。

据我了解,alexa 会向您发送访问令牌以及您的技能收到的每个请求,以便您可以识别使用该技能的客户。如果他们的访问令牌过期,alexa 将通过在将带有访问令牌的请求转发给您之前刷新他们的令牌来处理这个问题。因此,您可以获得有效的访问令牌。

现在,刷新令牌过期时会发生什么?即使客户每天都在使用该技能,它是否会在 60 天后过期?我想我要问的是:

  1. 当访问令牌过期并且 alexa 刷新它时。刷新令牌是否也会刷新?
  2. 如果是,当刷新令牌在 60 天后过期时,我们如何保持客户登录和他们的帐户链接?
4

1 回答 1

0

我认为您可以在文档中找到答案。

验证令牌是否有效 如果 accessToken 存在,请验证它是否标识了资源服务器中的用户。令牌可能因多种原因变得无效,例如:

用户删除或取消了他们在您的服务中的帐户。例如,Alexa 用户可能已经设置了与 Ride Hailer 关联的帐户,然后取消了他们的 Ride Hailer 帐户。此时,Alexa 服务存储的令牌将识别不存在的用户。

令牌已过期,Alexa 服务无法获取新令牌。如果您的授权服务器不提供刷新令牌,则授权代码授予可能会发生这种情况。如果您使用不支持刷新令牌的隐式授权,也会发生这种情况。

如果令牌有效,则正常处理请求。您可以根据需要使用令牌从资源服务器访问数据。在 Ride Hailer 示例中,该技能将从 Ride Hailer 服务中检索用户的个人资料和付款信息、订购汽车并向用户返回确认信息。有关详细信息,请参阅返回响应。

于 2020-03-13T10:30:29.050 回答