站点和iframed站点之间的通用登录

时间:2019-06-18 05:07:26

标签: iframe web-development-server websecurity

我想允许在父站点上发生的登录自动允许iframed站点登录。

这是具体情况:

我有一个简单的登录页面网站。登录后,用户将获得带有一系列URLS的菜单(所有URL具有相同的基本域,但具有不同的端口)。

main.example.com   (main site)
main.example.com:14002  (iframe #1)
main.example.com:14003  (iframe #2)
...

用户选择菜单项之一,然后将网址加载到iframe中。

菜单从数据库表中移出。

所有URL都将从IIS加载,但是它们都在不同的端口上运行,因此我们可以很好地控制重新启动它们并在一天中部署新的URL。

我正在努力寻找一种方法来允许主站点登录,以允许iframe网站安全登录。

换句话说,iframed站点如何安全地知道登录主站点的用户的用户ID?

这些不是被随机化的任意站点。我们控制了所有源代码。

1 个答案:

答案 0 :(得分:0)

这就是我们最终要做的:

使用此技术,主站点将带有令牌的cookie放置在其中,以便模块站点可以看到它:

document.cookie = "key=token;domain=mydomain.com"

然后module.mydomain.com网站使用令牌对master.mydomain.com网站进行Web服务调用,以检索登录的用户ID。

如果没有cookie或令牌已过期,则会在iframe窗口中向用户显示一个登录屏幕。