1

所以,我有多个项目、api 等......而且我想要一个中央登录系统。所以我转向 SSO 和 openId PKCE 流程。

假设我想使用一些云解决方案来节省时间和金钱——假设是 AWS cognito,因为它与 aws 产品的良好集成。

现在假设与竞争对手和我的需求相比,我的云解决方案在许多方面仍然支持一半,例如,我们可以想象 oauth sso 登录页面的托管 ui 无法正确定制甚至翻译,这是不可以的-去。

现在,我们可以想象我们了解了 oauth PKCE 代码授权流程,并且我们构建了一个小型服务器或几个 lambdas 来代理 oauth 实现,以便我们可以构建一个替代前端。服务器将:

  1. 使用客户端应用程序提供的 code_challenge 发出初始授权请求,获取状态 - 或者在 cognito 的情况下获取 csrf 令牌 - 并将其返回给我们的“自定义登录字体”。

  2. “自定义登录前端”可以使用 csrf、登录名和密码调用我们的服务器,然后我们的服务器会调用 oauth 云解决方案的登录端点,并使用代码检查响应是否重定向到我们的回调提供 - 获取该代码并将其返回到登录前端,以便在一个不错的加载器完成移动后最终进行重定向。

做这样的事情会很糟糕,特别是知道如果我们不能将登录前端和服务器托管在同一个域上,那么对我们的 oauth 云解决方案的登录 POST 请求可能必须设置一个不诚实的“HOST”标头才能通过请求我们的 oauth 云解决方案?

最后,我说得通吗?

4

0 回答 0