我正在实现基于 Angular 和 Node.js 的单页应用程序,该应用程序在企业 Windows Active Directory 域环境中的 Windows Server 上运行。我知道可以在 Node 包(如“passport-ldapauth”和“node-activedirectory”)的帮助下通过 AD(通过传递用户名和密码)进行身份验证。
我的问题是:实现单点登录功能的最可行/最直接的方法是什么,这样已经在 PC/域上对 Active Directory 进行身份验证的用户就不必输入他们的 AD 用户名/密码又来了?
我遇到过能够执行此操作的 Auth0 软件包,但我知道它们需要外部托管的云服务? (这不是我的选择)。
非常感谢。
更新:我一直在研究 Kerberos,因为这可能是一个解决方案,但是似乎没有任何成熟的 NPM 包用于 Node 和 Kerberos? 更新 2:我发现了一个名为 Node-SSPI 的包,它看起来很有前途。我还没有机会在 windows 域上尝试它(希望明天会),但它能够验证用户登录到我的本地机器。
谢谢
最佳答案
从2020年开始,也可以用node-expose-sspi来完成.该模块让您可以处理暴露给 Node 的 Microsoft SSPI API。
SSO 可以通过 Kerberos 和 NTLM 完成。它已经过测试并作为内部网 ERP 投入生产。
注意:我是 node-expose-sspi 的作者。
关于javascript - 使用 javascript 和 Node 的 Windows AD 单点登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33257969/