0

目前正在与一个潜在的合作伙伴合作,该合作伙伴的技术准入门槛很高。我们想要合并一个跨站点登录,但 SSO/Oauth 可能有点难以解决。

关于安全且轻量级的令牌传递/握手的任何建议?我们不需要像 Oauth 这样的无缝集成,他们只需点击一个站点并登录,拥有一个将他们带到另一个站点的标记化 URL 就可以了

有点像过去你用键/值访问远程站点 - 他们会确认你并返回 1/0 ......当然,这有潜在的中间人攻击

有什么想法吗?

4

1 回答 1

0

像openid那样做怎么样?

首先,服务提供者和身份提供者共享密钥(http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)。这是服务器到服务器的通信。

然后进行身份验证,用户名密码 blah blah blah 像往常一样填写

然后身份提供者向服务提供者发送 http 重定向(用户可以看到正在发生的事情),其中包含所有必要的信息(用户的身份、时间戳等)+ 消息验证码(由所有那些必要的信息和由 diffie 交换的密钥组成) -hellman 交换)。请参阅http://en.wikipedia.org/wiki/Message_authentication_code上的消息身份验证代码

然后服务提供者验证该 mac 代码(因为这个服务提供者知道密钥),以确保这个 http 请求真正来自身份提供者的重定向

于 2012-08-03T06:33:38.193 回答