【发布时间】:2018-03-11 08:15:00
【问题描述】:
从网页登录到 Cognito 有效,我得到了访问令牌和 id 令牌。现在我想在登录时运行一个 Lambda 函数并访问用户的一些数据,但在这里它失败了..
我得到InvalidLambdaResponseException: Invalid lambda trigger source。
关于造成这种情况的任何想法?
Java Lambda 代码是这样的:
public class LambdaFunctionHandler implements RequestHandler<CognitoEvent, CognitoEvent> {
@Override
public CognitoEvent handleRequest(CognitoEvent event, Context context)
{
context.getLogger().log("Input: " + event);
return event;
}
}
Javascript:
function loginCognito()
{
AWSCognito.config.region = 'us-east-1';
var authenticationData = {
Username : '***',
Password : '***',
};
var authenticationDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);
var poolData = { UserPoolId : 'us-east-1*********',
ClientId : '*******************'
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var userData = {
Username : '***',
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails,
{
onSuccess: function (result) {
/* ... */
},
onFailure: function(err) {
alert(err);
}
});
}
【问题讨论】:
-
您使用什么 Cognito Lambda 触发器?您有任何可用的请求 ID、AWS 区域和时间戳吗?
-
@VasileiosLekakis 在用户池/“我的池”/触发器中,我在“身份验证后”下选择了我的 lambda 函数。我使用 javascript 登录(查看最新更新)
标签: java amazon-web-services lambda aws-lambda amazon-cognito