gpt4 book ai didi

javascript - AWS Cognito 身份 JS : Forget/Remember/Do Not Remember Device

转载 作者:行者123 更新时间:2023-12-01 03:26:24 28 4
gpt4 key购买 nike

我正在使用 AWS Cognito Identity JS SDK ( https://github.com/aws/amazon-cognito-identity-js ),并尝试设置一些按钮来测试 setDeviceStatusRememberedsetDeviceStatusNotRememberedforgetDevice 功能,但我不断收到错误消息:

MissingRequiredParameter:参数中缺少必需的 key “DeviceKey”

这是其中一个函数的实现:

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);
}
});
});
}
}

如果我像这样改变函数:

forgetDevice = function(cognitoUser){
cognitoUser.forgetDevice({
onSuccess: function (result) {
console.log('call result: ' + result);
},
onFailure: function(err) {
alert(err);
}
});
}

我从 cognitoUser.authenticateUser success 回调函数调用该函数,将 cognitoUser 作为参数传递到 forgetDevice 上面的函数完美运行。

从第一个实现中的 session 对象来看,session 对象似乎不包含 DeviceKey 属性,因此 >cognitoUser.forgetDevice() 调用失败。

我想弄清楚的是,我是否应该在登录时调用 setDeviceStatusRememberedsetDeviceStatusNotRememberedforgetDevice 函数,或者我应该可以在我的申请中随时给他们打电话吗?希望这是有道理的。任何帮助将不胜感激。谢谢!

最佳答案

这有帮助吗:

请注意,如果为用户池启用了设备跟踪,并且需要用户选择加入,则您需要实现 onSuccess(result, userConfirmationNecessary) 回调,收集用户输入并调用 setDeviceStatusRemembered 来记住设备或setDeviceStatusNotRemembered 不记住设备。

http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html

您还可以尝试调用 getCachedDeviceKeyAndPassword 来填充 CognitoUser 对象中的 deviceKey 吗?

关于javascript - AWS Cognito 身份 JS : Forget/Remember/Do Not Remember Device,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44792164/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com