我已经创建了一个Cognito用户池。 我可以使用Java AWS SDK中的AWSCognitoIdentityProviderClient列出和添加用户。
但是,我有一个自定义登录页面,希望使用输入的用户名和密码对我的用户池进行身份验证。 我没有在Java AWS SDK中找到任何地方可以传递凭据并获得身份验证结果。
编辑:我无法解决以下错误:
NotAuthorizedException:配置中缺少凭据
相关代码:
但是,我有一个自定义登录页面,希望使用输入的用户名和密码对我的用户池进行身份验证。 我没有在Java AWS SDK中找到任何地方可以传递凭据并获得身份验证结果。
编辑:我无法解决以下错误:
NotAuthorizedException:配置中缺少凭据
相关代码:
AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'us-east-1:087a3210-64f8-4dae-9e3c...' // your identity pool id here
});
AWSCognito.config.region = 'us-east-1';
AWSCognito.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'us-east-1:087a3210-64f8-4dae-9e3c...' // your identity pool id here
});
var poolData = {
UserPoolId: 'us-east-1_39RP...',
ClientId: 'ttsj9j5...',
ClientSecret: 'bkvkj9r8kl2ujrlu41c7krsb6r7nub2kb260gj3mgi...'
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var authenticationData = {
Username: 'test@foo.com',
Password: 'foobarfoo',
};
var authenticationDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);
var userData = {
Username: 'test@foo.com',
Pool: userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
console.log('access token + ' + result.getAccessToken().getJwtToken());
},
onFailure: function (err) {
alert(err);
},
});