我有:
我没有的:
我真正的 AWS 目标:用于搜索的 Kendra,还有其他 AWS API。
作为奖励,如果 JavaScript 也可以在服务器端运行,那就太好了,但我认为服务器端 JavaScript 与客户端匹配的承诺很久以前就消失了。如今,我什至无法编写 AWS JavaScript 并只能浏览它。我必须使用一些 Webpack 工具运行一些 npm run build 命令,因为 AWS 坚持要求我使用他们最新的 JavaScript 来执行此操作。但是,如果有人足够聪明,能够弄清楚如何在客户端或服务器中使用相同的 JavaScript,我会很高兴。
所以,现在的问题是用户必须使用 AWS SSO 从浏览器中运行的普通旧 JavaScript 获取凭证...是的,我在一次失败的尝试中也遇到了 CORS 问题。我花了几个小时在一些“polyfill”上添加行到 Webpack 和包中。
我知道这是可能的,因为AWS提供了React / Angular示例。然而,无论出于何种原因,AWS 并没有提供基本的 JavaScript 示例。
我需要编写将在浏览器中运行的代码,通过 Azure 进行 SSO 登录,并提供可用的 AWS 凭证。接下来我可以尝试什么?
首先,我不同意 SPA 就“传统 Web 应用程序”展开战争,但这是稍后讨论的话题。这是一个非常复杂的问题,需要在 IdP 集成、SPA、后端中实现......需要解决很多问题......
我知道这件事真的很难弄清楚!这么多活动部件。
我建议您真正深入了解 Oauth 2.0 和 OpenID Connect 的主题。 了解如何实现身份验证和授权流程(特别是 SPA)非常重要。
您可以想到这样的解决方案:https://aws.amazon.com/blogs/mobile/building-an-application-with-aws-amplify-amazon-cognito-and-an-openid- connect-identity-provider/ 在此草图中,缺少的部分是 AWS SSO 与 Cognito 集成时的情况。
谢谢
要添加 Sandor Bakos 的答案,某些链接不再有效,因此请使用回程机,https://web.archive.org/web/20220326033138/https://aws.amazon.com/blogs/mobile/understanding例如 -amazon-cognito-user-pool-oauth-2-0-grants/。