2

我们正在使用连接到 WebSocket (AWS) 的 Flutter 构建一个移动应用程序。用户将使用 AWS Amplify Auth 注册/登录应用程序。身份验证成功后,应用程序将建立与 AWS 上的 WebSocket 的连接。为了确保与 WebSocket 的连接安全,我们希望使用 AWS Signer v4 对 URL 进行签名。但是我们在 AWS Signer v4 for Flutter 上找不到任何支持。请为我们提供帮助,以便我们可以使用 Flutter 插件等使用 Signer v4。

谢谢你

4

2 回答 2

1

我有几乎完全相同的用例。我已经编写并发布了一个简单的库,它可以做你想做的事,创建一个预签名的 URL 来连接到由 IAM 保护的 AWS WebSocket API 网关:

https://github.com/MohammedNoureldin/aws_url_signer

基本上你会得到你的签名 URL,就像这样:

String getSignedWebSocketUrl(
    {String apiId,
    String region,
    String stage,
    String accessKey,
    String secretKey,
    String sessionToken})
于 2021-04-20T08:38:55.197 回答
0

您可以使用 package https://pub.dev/packages/sigv4
一个 Dart 库,用于使用 Signature Version 4 签署 AWS 请求。
代码片段

final client = Sigv4Client(
  keyId: 'your_access_key_id',
  accessKey: 'your_access_key',
  region: 'eu-west-1',.
  serviceName: 'execute-api',
);
于 2020-10-22T08:13:49.740 回答