我需要为网站实施单点登录流程。我将站点A称为具有登录屏幕的站点,站点B作为需要自动登录的站点。这两个站点位于不同的域上,我对站点A没有任何控制权。但是我需要为这个过程提出建议。
经过一番阅读后,我有了这个建议。站点A将查询字符串中的票证传递给站点b。像SiteB.aspx这样的东西?Ticket = {guid}。此票证必须是由站点A管理的一次性有效值。我的站点(站点B)将以Web服务调用的形式将票证传递回站点A.如果故障单有效,则此呼叫的响应将包含我可用于自动登录的帐户ID。
这看起来是否可以接受?站点B将使用HTTPS。将查询字符串中的Ticket传递给安全还是最好将Ticket作为附加标头传递?如果在https下,票证是否仍然需要加密?
答案 0 :(得分:2)
不,由于以下几个原因,这对我来说似乎不是一个可接受的解决方案:
您可以将这两个网站设为share the same key,以便他们互相尊重Forms Authentication cookie。