我必须在我的网站上成功通过现有API进行身份验证后,显示第三方网站,例如网站X.但由于某些原因,我无法负担使用iframe,这是本案中最明显的解决方案,因为在浏览器中检查时会暴露网站X的URL。因此,我提出了另一个想法,即创建一个Web应用程序,其前端是用AngularJS编写的,并使用用C#编写的现有后端API。该应用程序基本上有两个页面,登录页面和主页面。在登录页面上从API成功验证后,用户将导航到主页面。现在主页面,我必须显示另一个网站。因此,我将显示一个iframe作为我的API端点之一,例如baseURL / data,而不是在源页面为X的主页面上使用iframe。因此,这个API将基本上获取站点X数据并执行类似服务器端渲染的操作,并返回我将在我的webapp中加载的站点X的精确副本。当用户在站点X上导航并路由到任何路径时,该路由将被发送到相同的API,现在响应将是baseURL / data / route的副本。即使我的API端点现在在浏览器控制台中暴露而不是站点X url,我也没关系,因为该API受到某种程度的保护而无法访问,因为没有正确的身份验证,我在登录页面上就是这样做的。
我希望对整个场景和可能的替代方案有更多的了解。此外,如果有人可以建议是否/如何编写这样的API。我可以考虑将AngularJS或C#更改为我项目中的技术,但对我而言,这绝对不是最适合我的解决方案。欢迎任何建议和想法!
编辑:我使用静态网站生成器创建了一个网站。我希望我的用户只有在他们是“我的用户”的情况下才能访问该网站。即通过我的API验证。但是,该生成器不允许我集成我的API,我也不能获得静态资产,如.html,.css和.js文件,我可以在我自己的服务器上托管并集成我的身份验证API。因此,我不得不考虑这样的解决方法。