按照示例:使用 JavaScript SDK 中给出的指南,它有一些描述性示例,但没有解释太多。如果我有两个函数都使用用户池,我可以对它们使用相同的用户池对象吗?
function getUser() {
var data = { UserPoolId : 'us-east-1_Iqc12345',
ClientId : '12345du353sm7khjj1q'
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(data);
var cognitoUser = userPool.getCurrentUser();
if (cognitoUser != null) {
cognitoUser.getSession(function(err, session) {
if (err) {
alert(err);
return;
}
console.log('session validity: ' + session.isValid());
});
}
和同一文件中的另一个函数
function confirmUser() {
var poolData = {
UserPoolId : 'us-east-1_TcoKGbf7n',
ClientId : '4pe2usejqcdmhi0a25jp4b5sh3'
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var userData = {
Username : 'username',
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.confirmRegistration('123456', true, function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});
我可以为该文件创建一个用户池,并让该文件中的任何内容使用该用户池吗,还是应该在每次新函数需要访问它时创建它?
您应该可以为两个调用创建一个用户池对象。调用仅使用用户池对象中的信息,而不更新其中的状态。