1

我想针对每个设备/用户 ID 记录一些持久的详细信息/历史记录。我不想与另一个系统中的单独帐户链接,因此我想避免使用帐户链接。文档建议这很好,见下文。

假设任何包含 userId 的请求必须来自原始设备是否安全?

  • 可以猜到userId吗?
  • 可以暴露 userId 吗?(假设没有重大的 AWS 入侵)
  • 可以拦截请求吗?(我使用 AWS Lambda 来处理请求)

相关文档:https ://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/linking-an-alexa-user-with-a-user-in-your-system

请注意,当技能需要与需要身份验证的系统连接时,需要帐户链接。如果您的自定义技能只需要跟踪用户以在会话之间保存属性,则不需要使用帐户链接。相反,您可以使用每个请求中提供的 userId 来识别用户。当用户在 Alexa 应用程序中启用您的技能时,会生成给定用户的 userId。除非用户禁用该技能,否则该用户对您的技能的每个后续请求都包含相同的 userId。

4

1 回答 1

0

我认为没有任何方法可以识别设备(你写“设备/用户 ID”)所以是的,你会使用用户 ID,使用 Alexa 用户 ID 作为存储/查找用户的密钥是非常标准的详情/历史。正如您得出的结论,听起来您不需要帐户链接。

我会假设 userId 是一个无法猜测的随机生成的值,并且请求是加密的,所以那里不应该有问题。

我相信我读到过,如果用户删除了您的技能然后再次添加它,那么 userId 就不一样了(因此,如果不使用帐户链接,您无法知道它实际上是同一个用户)。我要提到的一点是,它使我假设用户的所有技能都没有一个 userId(我认为这有资格“公开” userId),而是为每个技能生成一个新的 userId。所以你应该是安全的。

于 2016-09-28T04:26:54.980 回答