在 javascript/nodejs 应用程序中使用 aws cognito 的最佳方式是什么?
What is the best way to use aws congito in javascript/nodejs app?
我正在构建一个 Web 应用程序,前端为纯 javascript、css 和 html。服务在与数据库连接的 nodejs 层中托管(EC2)。我希望使用 aws cognito,因为 AWS 是用户管理标准功能(例如注册、登录、mfa、忘记密码、注销等)的首选云解决方案。我的问题是:构建自定义 UI 是否是一个很好的解决方案,其中用户名和密码被接受并通过 https 发送到 nodejs 层(在 EC2 上),然后 nodejs 层可以通过 nodejs 低级别 api 连接到 cognito从 sdk 执行所需的功能,例如注册、登录、mfa 和 return 所需的数据?我不是网络应用程序安全专家,所以如果这不是一个选项,请详细说明。
这当然是一种选择,但不是更安全的选择,因为在这两种情况下您都通过 HTTPS 传输用户凭据。您应该避免将任何用户凭据发送到您的后端。让前端将用户凭据发送到 cognito 并将其交换为临时令牌。 Cognito 提供自己的托管 GUI,可处理您上面提到的所有标准 Cognito 功能。
我正在构建一个 Web 应用程序,前端为纯 javascript、css 和 html。服务在与数据库连接的 nodejs 层中托管(EC2)。我希望使用 aws cognito,因为 AWS 是用户管理标准功能(例如注册、登录、mfa、忘记密码、注销等)的首选云解决方案。我的问题是:构建自定义 UI 是否是一个很好的解决方案,其中用户名和密码被接受并通过 https 发送到 nodejs 层(在 EC2 上),然后 nodejs 层可以通过 nodejs 低级别 api 连接到 cognito从 sdk 执行所需的功能,例如注册、登录、mfa 和 return 所需的数据?我不是网络应用程序安全专家,所以如果这不是一个选项,请详细说明。
这当然是一种选择,但不是更安全的选择,因为在这两种情况下您都通过 HTTPS 传输用户凭据。您应该避免将任何用户凭据发送到您的后端。让前端将用户凭据发送到 cognito 并将其交换为临时令牌。 Cognito 提供自己的托管 GUI,可处理您上面提到的所有标准 Cognito 功能。