我与AWS Cognito身份JS SDK(https://github.com/aws/amazon-cognito-identity-js)工作,我想建立几个按钮来测试setDeviceStatusRemembered
,setDeviceStatusNotRemembered
和forgetDevice
功能,但我不断收到一个错误说:AWS Cognito身份JS:忘记/记住/不要记住设备
MissingRequiredParameter: Missing required key 'DeviceKey' in params
这里的功能之一的实现:
forgetDevice = function(){
var cognitoUser = userPool.getCurrentUser();
if (cognitoUser != null) {
cognitoUser.getSession(function(err, session) {
if (err) {
alert(err);
signOut();
return;
}
console.log('session validity: ' + session.isValid());
cognitoUser.forgetDevice({
onSuccess: function (result) {
console.log('call result: ' + result);
},
onFailure: function(err) {
alert(err);
}
});
});
}
}
如果我改变了样T功能他:
forgetDevice = function(cognitoUser){
cognitoUser.forgetDevice({
onSuccess: function (result) {
console.log('call result: ' + result);
},
onFailure: function(err) {
alert(err);
}
});
}
,我打电话从cognitoUser.authenticateUser
success
回调函数的函数,传递cognitoUser
作为参数到forgetDevice
功能高于一切完美的作品。
从第一个实现看session
对象似乎让cognitoUser.forgetDevice()
呼叫失败session
对象不包含DeviceKey
财产。
我想弄明白的是,我应该只是在登录时调用setDeviceStatusRemembered
,setDeviceStatusNotRemembered
和forgetDevice
函数,还是应该可以在我的应用程序中随时调用它们?希望这是有道理的。任何帮助将不胜感激。谢谢!
你太棒了!调用getCachedDeviceKeyAndPassword工作!非常感谢! –