AWS Cognito Erreur: 'identityPoolId' a échoué à satisfaire la contrainte de
Je suis nouveau Cognito. Je suis en train de mettre en œuvre AWS Cognito à l'aide de Lambda. C'est le tutoriel je suis.
AmazonCognitoIdentityClient client =
new AmazonCognitoIdentityClient();
GetOpenIdTokenForDeveloperIdentityRequest tokenRequest = new GetOpenIdTokenForDeveloperIdentityRequest();
tokenRequest.setIdentityPoolId("us-east-1_XXXXXXX");
C'est l'Id de pool que j'utilise dans le setIdentityPoolId
C'est le test JUnit
public class AuthenticateUser implements RequestHandler<Object, Object> {
@Override
public Object handleRequest(Object input, Context context) {
AuthenticateUserResponse authenticateUserResponse = new AuthenticateUserResponse();
@SuppressWarnings("unchecked")
LinkedHashMap inputHashMap = (LinkedHashMap)input;
User user = authenticateUser(inputHashMap);
return null;
}
public User authenticateUser(LinkedHashMap input){
User user = null;
String userName = (String) input.get("userName");
String passwordHash = (String) input.get("passwordHash");
try {
AmazonDynamoDBClient client = new AmazonDynamoDBClient();
client.setRegion(Region.getRegion(Regions.US_EAST_1));
DynamoDBMapper mapper = new DynamoDBMapper(client);
user = mapper.load(User.class, userName);
if(user != null){
System.out.println("user found");
if(user.getPasswordHash().equals(passwordHash)){
System.out.println("user password matched");
String openIdToken = getOpenIdToken(user.getUserId());
user.setOpenIdToken(openIdToken);
return user;
} else {
System.out.println("password unmatched");
}
} else {
System.out.println("user not found");
}
} catch (Exception e) {
System.out.println("Error: " + e.toString());
}
return user;
}
C'est la sortie
user found
user password matched
Mais j'obtiens l'erreur suivante et, par conséquent, la return user
déclaration est de ne pas en
1 validation error detected: Value 'us-east-1_XXXXXX' at 'identityPoolId'
failed to satisfy constraint: Member must satisfy regular expression pattern: [\w-]+:[0-9a-f-]+
(Service: AmazonCognitoIdentity; Status Code: 400; Error Code: ValidationException;
Vous devez vous connecter pour publier un commentaire.
Vous utilisez un Cognito utilisateur id de pool que l'identité id de pool. Ils sont deux choses différentes. L'identité du pool d'id sont de format us-east-1:XXXX-XXXXXX-XXXX-XXXX.
Pour obtenir une identité id de pool, vous devez utiliser la fonction "Gérer les Identités Fédérées" parties de la Cognito console de ne pas "Gérer les Pools" de la section. Espérons que cette aide.