【问题标题】:AWS Cognito obtain/override deviceKey in JavaScriptAWS Cognito 在 JavaScript 中获取/覆盖 deviceKey
【发布时间】:2018-02-21 03:58:16
【问题描述】:

我正在尝试为 AWS cognito 编写 node.js REST 包装器。我希望客户端提供一个deviceKey,Cognito 将使用它来检测用户是否从新设备登录。

我想知道如何获取客户端的deviceKey,并在尝试进行身份验证时提供自定义deviceKey

类似于以下内容:

const AWS.getDeviceKey({
    onSuccess: (deviceIdentifier) => deviceIdentifier
})

const authenticationDetails = new AuthenticationDetails({
    Username: username,
    Password: password,
    DeviceKey: "client identifier string"
})

cognitoUser.authenticateUser(authenticationDetails, {
    onSuccess: (result) => result
})

【问题讨论】:

  • 我不知道如何在node.js环境中获取设备密钥,但我最近在浏览器环境中想通了。见stackoverflow.com/a/57290452/2300770也许这有助于找出node.js的解决方案。

标签: javascript amazon-web-services amazon-cognito


【解决方案1】:

SDK 已经处理了这一点。基本上,SDK 从配置的存储中检索 deviceKey。如果有设备密钥,它会在身份验证调用中传递它,服务会将其识别为它以前见过的设备密钥,并会向 SDK 必须完成的 DEVICE_PASSWORD_VERIFIER 发出质询。

如果没有传递设备密钥(新设备情况),则在完成身份验证后,服务会发出一个 NewDeviceMetadata 对象,SDK 可以使用该对象调用 confirmDevice 来注册这个新设备。然后将在 NewDeviceMetadata 中检索到的 deviceKey 存储在本地,以便在新登录时不会将其视为新设备。

【讨论】:

    猜你喜欢
    • 2019-10-20
    • 1970-01-01
    • 2018-01-13
    • 2021-11-19
    • 2018-03-28
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 2015-07-07
    相关资源
    最近更新 更多