Amazon Cognito使用用​​户名和密码登录用户

时间:2014-12-12 09:48:01

标签: java ios amazon-web-services amazon-cognito

AWS Cognito可以实现吗?此外,我想添加一个"关系"在DynamoDB中的用户和实体之间。

任何人都遇到过这种情况 - 或者我使用的是AWS的错误服务?

3 个答案:

答案 0 :(得分:3)

对于发现此问题的任何其他人,现在可以使用Cognito用户池进行此操作。有关详细信息,请here

答案 1 :(得分:3)

如果有人需要Java SDK的实际代码,这里有一个在后端进行身份验证的示例:

state[id] = localState;

辅助功能:

Map<String, String> params = new HashMap<>();
params.put("USERNAME", userId);
params.put("SECRET_HASH", calculateSecretHash(userId));
params.put("PASSWORD", rawPassword);

AdminInitiateAuthRequest request = new AdminInitiateAuthRequest()
    .withUserPoolId("YOUR_USER_POOL_ID")
    .withClientId("YOUR_USER_POOL_APP_CLIENT_ID")
    .withAuthFlow(AuthFlowType.ADMIN_NO_SRP_AUTH)
    .withAuthParameters(params);

AWSCognitoIdentityProvider identityProvider = AWSCognitoIdentityProviderClientBuilder.standard()
        .withCredentials(credentialsProvider)
        .withRegion(Regions.US_WEST_2)
        .build();
AdminInitiateAuthResult result = identityProvider.adminInitiateAuth(request);

答案 2 :(得分:-1)

Cognito并不意味着存储用户的凭据信息,因此可以使用userid作为密钥使用它,如果您想卸载登录过程,最好使用Facebook或者喜欢。

关于关系,dynamo是一个键/值数据存储区,如果您的交易需要按键进行几次检索,例如会话信息,设置,购物车信息,它们的效果最佳。它不会适用于查找所有朋友,我朋友访问过的所有地方等查询,因此您可以考虑使用graphdb,同时也可以使用reqular RDBMS轻松处理合理数量的数据。