Java 用户池不存在
我试图从java后端连接到aws cognito,但当涉及到在aws Lambda中测试它时,它会抛出一个异常,并显示以下消息: 我输入的凭据是正确的,因为我已经在python代码中测试了它们,并且工作正常 这是我用来连接的代码:Java 用户池不存在,java,server-side,amazon-cognito,aws-cognito,Java,Server Side,Amazon Cognito,Aws Cognito,我试图从java后端连接到aws cognito,但当涉及到在aws Lambda中测试它时,它会抛出一个异常,并显示以下消息: 我输入的凭据是正确的,因为我已经在python代码中测试了它们,并且工作正常 这是我用来连接的代码: private AdminInitiateAuthRequest buildAuhtRequest(String email, String password){ Map<String,String> authParams = new HashM
private AdminInitiateAuthRequest buildAuhtRequest(String email, String password){
Map<String,String> authParams = new HashMap<String,String>();
authParams.put("email", email);
authParams.put("password", password);
return new AdminInitiateAuthRequest()
.withAuthFlow(AuthFlowType.ADMIN_NO_SRP_AUTH)
.withAuthParameters(authParams)
.withClientId(credentials.getClientId())
.withUserPoolId(credentials.getPoolId());
}
可能您已经在本地使用默认区域、访问密钥和访问机密设置了aws环境;而lambda角色没有授权处理您指定的Cognito池。尝试增加lambda角色的权限。设置区域并尝试,以便您的函数确定要在cognito下检查的区域 我想你的答案有错
private AdminInitiateAuthRequest buildAuhtRequest(String email, String password){
Map<String,String> authParams = new HashMap<String,String>();
authParams.put("email", email);
authParams.put("password", password);
return new AdminInitiateAuthRequest()
.withAuthFlow(AuthFlowType.ADMIN_NO_SRP_AUTH)
.withAuthParameters(authParams)
.withClientId(credentials.getClientId())
.withUserPoolId(credentials.getPoolId());
}
public class CognitoClientCredentials {
private String poolId = "xxxxxxxxx";
private String clientId = "xxxxxxxxxxxxxxxx";
public String getPoolId(){
return this.poolId;
}
public String getClientId(){
return this.clientId;
}
}