gpt4 book ai didi

java - Amazon Cognito 开发人员使用 Java SDK 验证身份

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:57 25 4
gpt4 key购买 nike

我正在尝试使用经过开发人员验证的 Cognito 身份对 Java 应用程序进行 AWS 服务的验证。这在 AWS 移动 SDK ( documentation ) 中非常简单,但我似乎无法在 Java SDK 中找到等效的类。

我遇到的主要问题是 Java SDK 类(例如 WebIdentityFederationSessionCredentialsProvider)要求客户端代码知道所承担角色的 arn。对于移动 SDK,它使用为联合身份配置的角色。这是我更愿意做的,但 Java SDK 似乎没有为此提供支持的类。

最佳答案

Jeff 的最后评论让我找到了答案。谢谢杰夫!

String cognitoIdentityId = "your user's identity id";
String openIdToken = "open id token for the user created on backend";

Map<String,String> logins = new HashMap<>();
logins.put("cognito-identity.amazonaws.com", openIdToken);
GetCredentialsForIdentityRequest getCredentialsRequest =
new GetCredentialsForIdentityRequest()
.withIdentityId(cognitoIdentityId)
.withLogins(logins);
AmazonCognitoIdentityClient cognitoIdentityClient = new AmazonCognitoIdentityClient();
GetCredentialsForIdentityResult getCredentialsResult = cognitoIdentityClient.getCredentialsForIdentity(getCredentialsRequest);
Credentials credentials = getCredentialsResult.getCredentials();
AWSSessionCredentials sessionCredentials = new BasicSessionCredentials(
credentials.getAccessKeyId(),
credentials.getSecretKey(),
credentials.getSessionToken()
);

AmazonS3Client s3Client = new AmazonS3Client(sessionCredentials);
...

关于java - Amazon Cognito 开发人员使用 Java SDK 验证身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38441696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com