使用未签名的url和cognito auth上传到s3

tvmytwxo  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(280)

同事,
我有一个问题-我有一个客户端应用程序,它支持多个云作为目标平台,目前托管在aws上。这个应用程序对于文件接收任务有一个非常简单的流程(乍一看):
用户通过api从应用程序请求signedurl,并接收到文件的登录区域的链接
用户上传文件并使用另一个api端点注册它们
系统接收它们(即索引,执行一些其他魔法)
所以,这很有魅力,但这里有一个问题:aws实现不返回signedurl,而是给我们一个unsignedurl。现在-为了得到这个unsignedurl,我们必须调用一个受保护的api,并且只有在我们使用cognito进行身份验证后才可用。该系统的作者说,拥有一个经过cognito身份验证的用户和一个unsignedurl,您可以很容易地将文件上传到s3存储桶。但是,在阅读文档并使用sdk时,我目前还没有找到这样做的方法—在任何时候,我都需要一个aws凭据对象,其中包含一个访问密钥id(而不是访问令牌!)但我没有。
所以。我的问题是-真的有办法吗?
我拥有的是oauth 2.0的一组基本参数(即客户机id、secret、callback等)、用户名+密码(Cognoto登录也需要这些参数),结果得到3个令牌(id令牌、访问令牌、,refresh token)和一个bucket名称,我应该将文件上传到这个bucket名称(这个-我使用来自cognito的api+访问令牌从系统获得)。就这样。
p、 s:在这个阶段,我们只有postman集合,它允许我们从0获取令牌和这个bucket名称。下一步是上传我们被告知需要一个sdk的文件,最初我们打算使用java sdk,但无论如何,python示例,api引用-不管怎样,如果没有访问密钥id,我甚至无法使用cognito让sdk进行身份验证=
这个问题可能是愚蠢的,我有大量的gcp和azure的经验不知何故离开了最后的aws,所以这可能只是我没有看到明显的。。。
提前谢谢你的帮助,社区。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题