AWS Signer 支持 Flutter

3
我们正在使用Flutter构建一个连接到WebSocket(AWS)的移动应用程序。用户将使用AWS Amplify Auth在应用程序中注册/登录。身份验证成功后,应用程序将与AWS上的WebSocket建立连接。为了使我们的WebSocket连接更安全,我们想使用AWS Signer v4来签署URL。但是我们没有发现Flutter对AWS Signer v4的支持。请提供帮助,以便我们可以使用Flutter插件等方式使用Signer v4。谢谢。

你有什么新消息吗?我有完全相同的使用情况,但不知道该怎么办。 - Mohammed Noureldin
3个回答

2
我几乎有和你一样的使用情况。我已经编写并发布了一个简单的库,可以创建一个预签名URL来连接到由IAM保护的AWS WebSocket API Gateway。

https://github.com/MohammedNoureldin/aws_url_signer

基本上,您将会像这样获得您的签名URL:
String getSignedWebSocketUrl(
    {String apiId,
    String region,
    String stage,
    String accessKey,
    String secretKey,
    String sessionToken})

我对代码进行了一些修改,以使其适用于AWS Transcribe API。不确定该服务是否具有稍微不同的格式,或者Mohammed的代码是否已经过时...请查看差异进行比较。https://github.com/Air-Craft/aws_url_signer - Hari Honor

1
我一直在寻找同样的东西:用于从我的Flutter应用程序向AWS服务发送API调用的AWS Signer(v4)。
最近我发现了这个包,测试了一下,认为它很好地完成了工作https://pub.dev/packages/aws_signature_v4

1
你可以使用https://pub.dev/packages/sigv4包。 这是一个用于在Dart中对AWS请求进行签名的库。 代码片段。
final client = Sigv4Client(
  keyId: 'your_access_key_id',
  accessKey: 'your_access_key',
  region: 'eu-west-1',.
  serviceName: 'execute-api',
);

由于某些原因,这个库除了"host"之外还签署了一些其他的标头,而这正是AWS对于WebSockets所需要的。而且,这个库已经不再维护了:/ - Hari Honor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接