2011-04-14 85 views
0

我研究如何将用户对域名认证通过abc.com,然后允许他们访问网站xyz.com的安全区域,而无需登录的第二时间。跨域认证通过URL

一点阅读后,下面的解决方案看起来可行:

  1. 用户登录到通过普通窗体身份验证

  2. 成功登录后,记录是在创建的网站abc.com包含guid,用户名和当前日期/时间的共享数据库。

  3. 通过加密guid生成安全令牌,然后返回到站点xyz.com的重定向,并将安全令牌作为查询字符串参数。

  4. 网站xyz.com收到传入请求,解密令牌,在数据库中找到匹配的记录(过去一分钟过滤),然后在将用户重定向到abc之前为相关用户生成表单身份验证Cookie .com

用户现在应该有两个表单身份验证Cookie,每个域一个。

这种方法基本上是健全的吗?你知道有什么好的参考吗?

回答

2

该方法虽然对重播攻击敏感,但仍然有效。为什么不使用OpenId?它也可以做不请自来的断言,这听起来像你想使用的。

OpenId不需要共享数据库。

+0

是的 - 我已经发现OpenID的身份验证和OAuth委派授权更好。谢谢 – 2011-04-27 06:23:13