提问人:David Moorhouse 提问时间:10/31/2023 更新时间:10/31/2023 访问量:12
保护嵌入页面的 Web 会话
Securing a web session for an embedded page
问:
我们有一个单页 Web 应用程序,需要通过 iframe 托管在另一个网页中。
这个我们无法控制的第三方 Web 应用程序(即不是由我们编写或托管的)通过我们将提供的自定义端点启动我们的应用程序,该端点期望接收加密的启动参数,这些参数提供最终用户是谁的上下文,以及他们的角色。加密是由嵌入应用程序通过共享密钥完成的,因此我们可以解密请求,验证它(它包含一个时间限制参数)并使用正确的用户权限启动我们的应用程序。
启动后,我们的应用程序是 SPA,因此 iframe 本身永远不会重新加载,但会回调我们的应用程序终结点以操作数据。这些端点使用 JWT 令牌进行保护,这些令牌通常由通过正常 UI 启动页面登录的用户的授权标头提供。
在这种嵌入式使用的情况下,没有 JWT,因此我们需要弄清楚如何保护对数据端点的访问。
我可以看到(至少)两种方式:
- 让我们的应用程序从 IdP 请求 JWT,该 JWT 与嵌入式应用程序一起发送回去,以便浏览器将其附加到后续调用。这样做的好处是,现有数据终结点无需更改即可工作。
- 更改我们的身份验证层,以便它可以使用会话或 JWT 来控制访问。这将需要更改我们应用程序的身份验证/授权层。
我不确定这两种解决方案的技术细节,因此在我进行更详细的调查/设计之前,我先在这里检查一下。
请注意,我们必须使用这种不寻常的嵌入机制,因为第三方应用程序在我们运营的市场空间中占主导地位。我倾向于让他们将令牌传递给我们 - 但他们不使用令牌进行身份验证。
答: 暂无答案
评论