我创建了一个Node.js WebApp并将其放在Azure上。这是一个Socket.io WebSocket和网站,我希望在一种身份验证形式下保护它。我最初的计划是使用ActiveDirectory,但我找不到任何有关使用这种身份验证连接WebSocket的信息。
有没有办法使用Active Directory或其他类似且易于设置的身份验证来保护网站和WebSocket?
我打算使用socket.io-client从本地计算机连接到此服务器端Web应用程序。
答案 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 Directory,Facebook,Google,Twitter,Github认证来处理网站身份验证。 。
对于Socket.io身份验证,我使用socketio-auth来保护具有自定义安全和身份验证层的连接。