Node.js WebSocket上的Active Directory身份验证

时间:2015-04-19 03:18:01

标签: javascript node.js sockets authentication azure

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

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

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

2 个答案:

答案 0 :(得分:0)

我会寻找一个基于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

希望这有帮助!

答案 1 :(得分:0)

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

我使用Passport以及我选择的Active DirectoryFacebookGoogleTwitterGithub认证来处理网站身份验证。 。

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