当前位置: 首页 > 知识库问答 >
问题:

Android和AWS Cognito开发人员身份验证

晏志明
2023-03-14
AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
  IdentityPoolId: 'us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
  IdentityId: identityid,
  Logins: {
    'cognito-identity.amazonaws.com': token
  }
});
Map logins = new HashMap();;
logins.put("cognito-identity.amazonaws.com", token);
credentials = new CognitoCachingCredentialsProvider (
   context,
   "us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
   Regions.US_EAST_1
);
credentials.setLogins(logins);

s3 = new AmazonS3Client(credentials);
List bucket = s3.listBuckets();

提前谢了。

共有1个答案

胡鸿志
2023-03-14

我使用Node.js实现了这一点,但我假设Android SDK也有类似的API。在创建标识(使用Oauth提供程序或不使用Oauth提供程序)后获得和IdentityId,然后为该IdentityId请求IAM临时凭据。您将有一个accessKey、secretKey和一个令牌,使用它们来配置aws.config。

之后,您可以使用来自AWS SDK的任何服务,但您需要确保您的标识池具有正确的角色/策略。

注意:提供最少且唯一需要的访问权限,否则您将暴露您的服务以供恶意使用!

 类似资料:
  • 我试图为AWS实现“开发人员身份验证身份”,如下所示:https://AWS.amazon.com/blogs/mobile/amazon-cognito-innecling-developer-authenticated-identities/ 我很好地理解了基本流程。 我怎样才能做到这一点?

  • 我不太熟悉亚马逊,所以有几个问题: 我想使用我自己的自定义后端解决方案,用Cognito为亚马逊上的用户执行登录。找到了这个可能的解决方案。这个后端为我注册和登录后返回 我想遵循这个指南。但根据这一点,我应该提供和令牌,并将其设置为任何社会的登录后: 作为我使用了在 但我有一个例外,我没有任何提供者 AWSCognitoCreentialsProvider getCreentialsAnd Cog

  • 它在没有身份验证的情况下工作得很好,但我想在身份验证的情况下使用它。有人能告诉我该怎么做吗?我是swift和AWS认知服务的新手。

  • 我正在建立一个Java/GAE/Angular app engine项目,并试图要求在某些路径登录。我允许google处理身份验证,但我看到一个nullpointer,它似乎源自提供的。 下面是我的web.xml的相关部分: 下面是StackTrace:

  • 我正在使用一个带有开发人员身份验证身份的Authflow设置的认知身份池--选择这个auth流是因为出于一些业务原因,我们不能使用认知用户池。因此,我自己使用带有authendpoint的API网关实现了一个用户标识提供者服务,该endpoint激发一个Lambda函数。 因此,我通过运行和随后运行生成了一个临时的和,并获得了临时的AWS凭据(临时的和)。 现在,我希望生成一个,以便在我使用IAM

  • 当用户启动应用程序时,他们是一个未经身份验证的用户,并且他们将从iOS应用程序中的DeveloperAuthenticatedIdentityProvider类获得。我可以在cognito控制台中看到。但是,当他们登录时,我调用了我的nodejs后端,其登录映射为: 并使用以下后端代码: