【问题标题】:Active Directory Authentication on Node.js WebSocketNode.js WebSocket 上的 Active Directory 身份验证
【发布时间】:2015-05-09 02:25:04
【问题描述】:

我创建了一个 Node.js WebApp 并将其放置在 Azure 上。这托管了一个 Socket.io WebSocket 和网站,我想在某种形式的身份验证后面保护它们。我最初的计划是使用 ActiveDirectory,但我找不到任何关于使用这种身份验证连接 WebSocket 的信息。

有没有办法使用 Active Directory 或其他类似且易于设置的身份验证来保护网站和 WebSocket?

我计划使用 socket.io-client 从本地计算机连接到这个服务器端 Web 应用程序。

【问题讨论】:

  • 使用 html+http 连接到 AD,然后切换到 Web 套接字。如果要验证 IP 以外的传入套接字连接,可以使用 html 中的令牌或其他内容。
  • 如果你使用express,我会推荐passportjs,socket.io,然后是passport.socketio

标签: javascript node.js sockets authentication azure


【解决方案1】:

我会寻找一种基于 HTTP 的解决方案,它允许您与活动目录环境进行交互。然后,您可以将此集成与您现有的 WebSocket 解决方案联系起来。

这个库看起来很有前途:https://github.com/gheeres/node-activedirectory

Azure 似乎也为 Active Directory 提供了一个 REST API:https://msdn.microsoft.com/en-us/library/azure/hh974476.aspx

我在 Stormpath 工作,我们还有一个 Active Directory 功能,允许您将 Node.JS 应用程序连接到与 Active Directory 同步的数据存储。见Integrating Stormpath with Active Directory and LDAP

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    在考虑了很多简单性之后,我决定放弃传统的 Azure 提供的 ActiveDirectory 身份验证。 (它会阻止 WebSocket 流量,因此我无法通过套接字进行任何手动身份验证)

    我使用Passport 自己处理网站身份验证,以及我选择Active DirectoryFacebookGoogleTwitterGithub 的任何身份验证。

    对于 Socket.io 身份验证,我使用 socketio-auth 来保护具有自定义安全和身份验证层的连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      相关资源
      最近更新 更多