JS 浏览器应用程序上的 AWS cognito SRP 计算

问题描述 投票:0回答:1

我是一名 webDev,我需要使用 AWS cognito 用户池集成登录页面。我无法使用集成 UI,所以我正在使用

@aws-sdk/client-cognito-identity-provider

我不在安全的服务器环境中,无法保守秘密,所以我想使用 SRP 通过

InitiateAuthCommand
登录。我想这是文档中推荐的流程。 这个 aws srp auth 文档流程 页面讨论了“SRP 计算”,但我找不到任何使用 SDK 来完成此操作的方法,也找不到文档中的任何线索。

经过一些研究,我自己实现这一点的加密要求太高,无法确保该解决方案的安全。

所以我的问题是:如果没有集成 UI,您应该如何使用 SRP?如果没有强大的安全知识,这可能吗?

我找到了一些第三方库,但我发现在使用 AWS 时必须依赖它来实现应用程序的如此关键部分,这真的很奇怪。

javascript browser amazon-cognito aws-userpools srp-protocol
1个回答
0
投票

您可能误解了这里的文档。您真正关心的似乎是如何实施SRP。这不是一个有效的担忧,因为该文件提到了

该应用程序使用 Amazon Cognito SRP 功能生成 SRP 详细信息 内置于 AWS SDK 中。

您无需担心SRP实施的细节。 SDK 将为您处理这个问题。

这是问题的第二部分:如何在 Web 前端或移动应用程序等不安全的环境中安全地使用 Amazon Cognito?由于 Cognito 提供两种类型的操作

  1. 经过身份验证的操作:这些操作需要 IAM 凭证、访问令牌、会话令牌、客户端密钥或这些的组合。
  2. 未经身份验证的操作:这些操作不需要在代码中包含任何秘密。请参阅此链接并打开“未经身份验证的用户操作”部分以了解更多详细信息。

如果您对实际代码实现感兴趣,JS 中有使用示例,您可以轻松地将其复制并粘贴到您的项目中(请务必遵循任何必需的先决条件)。

© www.soinside.com 2019 - 2024. All rights reserved.