AWS的Cognito文档似乎毫无意义
Cognito documentation by AWS seems to be nonsensical
我试图让我的用户通过一个忘记密码流为他们的Cognito用户池帐户在我的Javascript网站。
由于用户池处于测试阶段,因此缺少一些文档,在这种情况下很奇怪。AWS声称以下代码应该:
为未认证的用户启动并完成遗忘密码流程。
,代码为:
cognitoUser.forgotPassword({
onSuccess: function (result) {
console.log('call result: ' + result);
},
onFailure: function(err) {
alert(err);
},
inputVerificationCode() {
var verificationCode = prompt('Please input verification code ' ,'');
var newPassword = prompt('Enter new password ' ,'');
cognitoUser.confirmPassword(verificationCode, newPassword, this);
}
});
谁能理解这段代码,或者至少确认/否认它看起来是荒谬的?
可在以下链接找到:http://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-javascript-examples.html
示例中的提示符确实有点奇怪。你可能想用不同的方法。你可以单独调用confirmPassword通过在初始化forgotPassword进程后从localstorage获取当前cognituser然后调用cognituser。confirmPassword
你可以像这样获得当前的cognituser:
var data = { UserPoolId : 'us-east-1_Iqc12345', // Your UserPoolId
ClientId : '12345du353sm7khjj1q' // Your client ID
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(data);
var cognitoUser = userPool.getCurrentUser();
然后调用
cognitoUser.confirmPassword(verificationCode, newPassword, {
onSuccess: function(result){
// Do stuff on success
},
onFailure: function(err){
// Do stuff on error
}
});
这个例子应该可以工作。它适用于未经身份验证、已确认的用户,因此一旦设置好池和用户名数据,就可以运行该示例了。forgotPassword函数在失败、成功或请求新密码和验证码信息时调用相关的回调函数。
var poolData = {
UserPoolId : 'YOUR_USER_POOL_ID',
ClientId : 'YOUR_APP_ID'
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var userData = {
Username : 'YOUR_USER_NAME',
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.forgotPassword({
onSuccess: function (result) {
console.log('call result: ' + result);
},
onFailure: function(err) {
alert(err);
},
inputVerificationCode() {
var verificationCode = prompt('Please input verification code ' ,'');
var newPassword = prompt('Enter new password ' ,'');
cognitoUser.confirmPassword(verificationCode, newPassword, this);
}
});
什么是不合理的部分,以便我们可以在公测后改进文档?流程是否不正确或缺少某些信息?
相关文章:
- 使用promise和mongoose对文档进行排序
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- Ajax请求文档就绪会导致jquery加载缓慢
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- 谷歌文档表面引擎
- 来自文档或下一个静态父级的事件委派
- 如何将childNodes用于XML文档
- 文档就绪提供了错误的选择器高度
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- BrowserId登录请求在文档加载时被调用
- 从Javascript和Php变量创建Html模板文档
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 在jquery文档准备好之前加载Modernizr
- 如何判断何时将dom节点添加到文档中
- 无法获取文档.GetElementById工作正常
- 为什么是文档.旧版应用程序中的DOM-object.properties为null
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 为什么将其他对象分配给内置对象(例如文档、窗口)没有意义
- AWS的Cognito文档似乎毫无意义