Authentication 使用Windows身份基础验证iFrAME中的外部网网站

Authentication 使用Windows身份基础验证iFrAME中的外部网网站,authentication,iframe,wif,claims-based-identity,Authentication,Iframe,Wif,Claims Based Identity,场景:许多网站必须通过iFrame在我的公司外部网上显示。外部网使用SSL和基于Active Directory的Windows身份验证。iframe的每个网站都需要经过身份验证的用户,但不应要求用户手动登录。每个网站的身份验证机制尚未确定 问题:我需要了解如何在iFrame中实现自动登录。我可以要求iframe的网站使用适合我的目的的特定身份验证机制,尽管我确实需要从广告中向它们提供特定的用户信息 我曾建议使用Windows身份基础来解决认证挑战。我正在考虑两种解决方案,但作为WIF新手,我不

场景:许多网站必须通过iFrame在我的公司外部网上显示。外部网使用SSL和基于Active Directory的Windows身份验证。iframe的每个网站都需要经过身份验证的用户,但不应要求用户手动登录。每个网站的身份验证机制尚未确定

问题:我需要了解如何在iFrame中实现自动登录。我可以要求iframe的网站使用适合我的目的的特定身份验证机制,尽管我确实需要从广告中向它们提供特定的用户信息

<>我曾建议使用Windows身份基础来解决认证挑战。我正在考虑两种解决方案,但作为WIF新手,我不确定哪一种更好,以及它们是否可行

解决方案1:我使用AD声明创建一个自定义安全令牌服务。当用户浏览到我的一个iframe页面时,该页面以编程方式从STS获取一个令牌,并以某种方式将该令牌添加到iframe中。通过查看网上的示例,我相信我了解了如何以编程方式构建STS和获取令牌。但是如何将它与iframe一起使用呢?将其插入iframe URL(
http://website/default.aspx?token=xxx
)似乎不安全

解决方案2:我创建相同的STS。iframe的网站配置为使用STS作为身份验证提供程序。当用户浏览到我的iframe页面时,iframe的网站会自动向STS查询令牌,并让用户登录。但是iframe的web部件是如何获得令牌的?原始用户在请求上下文中可用吗?或者它是如何工作的?这可以在iframe中完成吗?我记得读过一些关于iframe中不允许使用cookies的文章


对上述问题的回答——或者可能是不同的解决方案——是最受欢迎的。

寻求解决方案2。如果iframe中的页面(从现在起,依赖方-RP)配置为使用STS作为身份验证提供者,那么在首次加载时,它们将把浏览器(iframe)重定向到STS。STS知道用户allready有一个单一的登录会话(最初登录到外联网),因此会发出一个会话令牌,它将该令牌作为HTTP POST发送给依赖方,WIF会截获该令牌并以cookie的形式发送给客户端(默认情况下,但这可以使用自定义会话令牌处理程序覆盖)。一些浏览器最初不允许在iFrame中使用Cookie,但通过在依赖方的响应中发送p3p头,这是可以允许的。

谢谢,Andreas。因此需要做的是创建STS,并配置我的外联网和RP站点以使用STS作为身份验证提供程序。我需要对RP站点做些什么吗发送p3p头,还是浏览器配置?我找到了描述过程的链接:。因此,感谢您的帮助,Andreas。