如何安全地将用户ID从Intranet传递到另一个站点

时间:2015-07-16 14:34:47

标签: security authentication cross-domain

我的客户有一个内部网门户网站,并希望在其中有一个按钮,这样当点击它时,它将打开我的网站并将客户内部网中的用户自动登录到我的网站。

内部网和我的网站上的用户具有相同的用户ID(用户ID基本上就是电子邮件)。

我们确实已经进行了IP身份验证,因此我的网站已经知道了Intranet网站所在的IP,因此它对其进行了授权。未经授权的IP被重定向以将其踢出。

我的客户如何将用户ID(也就是我的电子邮件)从他的Intranet传递到我的网站,以确保其安全?

以下是我对安全的担忧: A)是用户ID作为参数传递到我的网站(例如作为URL中查询字符串的一部分或作为POST调用中表单中的隐藏输入字段),然后存在任何人的危险该Intranet通过其他任何人的用户ID更改此用户ID并输入。例如,如果我是joe@abc.com,那么joe@abc.com将以某种方式从Intranet传递到站点作为参数。我可以轻松地从joe@abc.com更改为dave@abc.com,然后将该网站登录为dave@abc.com。

B)假设用户ID随后被加密。所以,现在joe@abc.com就像AAABBB000111。如果我与任何人共享此加密值,则此人可以使用加密值并以我身份登录。当然,我必须与他分享这个加密值。

那么,您是否认为有一种优雅的方式可以安全地将用户ID从Intranet传递到外部站点?

1 个答案:

答案 0 :(得分:0)

查询字符串可以很容易地用于传递此信息,但如果它的安全我不会这样做。你可以将它传递给一个非常容易的cookie,如果由于数据敏感而不是一个选项,你可以查看sessionStorage以暂时在页面之间存储数据。

将它发送到服务器听起来最好记录它们在cookie中保存会话然后重定向它们。