gpt4 book ai didi

php - 使用 STS 凭据授权 AWS - 没有 session token

转载 作者:行者123 更新时间:2023-11-29 12:51:27 24 4
gpt4 key购买 nike

我正在使用 Titanium 开发 iOS 应用程序。部分应用程序需要将照片直接上传到 S3。现在我不想将主要的 AWS 凭证放在这里,所以我使用安全 token 服务来生成一些临时凭证。那部分工作正常

如果有帮助,生成凭据的代码:

$sts = StsClient::factory(array(
'key' => 'KEY_HERE',
'secret' => 'SECRET_HERE'
));
$result = $sts->getSessionToken();

除其他事项外,我还获得了 AccessKeyIdSecretAccessKeySessionToken。通过 PHP 传递所有这 3 个非常有效,我可以正常上传。但是,我随后将这些凭据传递给应用程序并需要从那里使用它们。

问题是每一种连接到 AWS 的方法(包括“官方”AWS 模块)都只使用访问 key 和 secret key ——也就是说,没有办法传递 session token ,因此我无法授权。例如Titanium AWS 模块的工作方式类似于 AWS.authorize(accessKey, secretKey); - 它不接受 session token 。

现在,我真正的问题是 - 我如何只连接一个 key / secret 并让它被接受。我需要设置一些配置吗?我是否需要破解模块才能以某种方式传递 token ?我对 AWS 的世界还很陌生,所以有些事情仍然令人费解,非常感谢任何指点!

最佳答案

这是指向 AWS iOS SDK 文档中示例的链接。他们初始化对象名称 AmazonCredentials(包含 key 、访问 key 和 session token ),然后使用 AmazonCredentials 初始化 AmazonS3Client。

https://github.com/awslabs/aws-sdk-ios-samples/blob/master/S3_SimpleDB_SNS_SQS_DemoTVM/AWSiOSDemoTVM/Classes/AmazonClientManager.m

AmazonCredentials *credentials = [AmazonKeyChainWrapper getCredentialsFromKeyChain];

[s3 release];
s3 = [[AmazonS3Client alloc] initWithCredentials:credentials];
s3.endpoint = [AmazonEndpoints s3Endpoint:US_WEST_2];

关于php - 使用 STS 凭据授权 AWS - 没有 session token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22346020/

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