【问题标题】:How to pass a user id from an intranet to another site securely如何将用户 ID 从 Intranet 安全地传递到另一个站点
【发布时间】:2015-10-06 01:52:58
【问题描述】:

我的客户有一个 Intranet 门户并希望在其中有一个按钮,以便在单击它时打开我的网站并自动将客户 Intranet 中的用户登录到我的网站。

Intranet 和我的网站上的用户具有相同的用户 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 传递到外部站点?

【问题讨论】:

    标签: security authentication cross-domain


    【解决方案1】:

    查询字符串可以很容易地用于传递这些信息,但如果它是安全的,我不会这样做。您可以将它传递到一个 cookie 中,这将非常容易,如果因为数据敏感而无法选择,您可以查看 sessionStorage 以在页面之间临时存储数据。

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

    【讨论】:

      猜你喜欢
      • 2012-11-01
      • 1970-01-01
      • 2014-11-22
      • 2011-08-19
      • 2011-06-21
      • 1970-01-01
      • 2012-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多