使用非常有用的Amazon Web服务Cognito进行用户管理。
我会在登录时记住我的用户设备,但是当我打电话给
时cognitoUser.setDeviceStatusRemembered()
我有以下错误消息:
在参数
中缺少必需的键'DeviceKey'
这就是我实现它的方式:
AuthService.login($scope.username.toLowerCase(), $scope.password)
.then(function(res) {
if ($scope.rememberMe == true)
AuthService.setRememberedDevice($scope.username);
})
我的登录功能已经很长时间了。
我已阅读过这个问题: AWS Cognito Identity JS: Forget/Remember/Do Not Remember Device
...调用getCachedDeviceKeyAndPassword()可以解决这个问题,但我无法弄清楚在哪里找到这个方法的实现或如何使用它。
我认为@Ionut Trestian可以知道正确答案
答案 0 :(得分:0)
你在运行哪个环境?如果在浏览器中运行它,则令牌和设备密钥存储在本地存储中,如果在服务器端环境中运行它们,它们将存储在内存中。
答案 1 :(得分:0)
我不确定您使用的是哪个SDK /库。使用当前的Amplify库,您可以通过用户对象获取设备密钥:
Auth.currentAuthenticatedUser({
}).then(user => {
user.getCachedDeviceKeyAndPassword(); // without this line, the deviceKey is null
console.log(user.deviceKey);
});