我正在实现一个基于Angular和Node.js的单页应用程序,运行在公司Windows Active directory域环境中的Windows Server上。我知道在节点包的帮助下(通过传递用户名和密码)可以通过AD进行身份验证,例如"passport-ldapauth“和" node -activedirectory”。
我的问题是:实施单点登录功能的最可行/最直接的方法是什么,以便已经在PC /域上通过Active Directory身份验证的用户不必再次输入其AD用户名/密码?
我遇到过能够做到这一点的Auth0包,但我知道它们需要外部托管的云服务?(这对我来说不是一个选项)。
非常提前谢谢你。
更新:我一直在研究Kerberos,因为这可能是一种解决方案,但是似乎没有任何成熟的NPM包用于节点和Kerberos?更新2:我发现了一个名为Node-SSPI的包,它看起来非常有前途。我还没有机会在windows域上试用它(希望明天就能),但它能够验证登录到我本地机器的用户。
谢谢
发布于 2020-03-04 16:57:44
从2020年开始,它也可以使用node-expose-sspi来完成。此模块允许您处理向Node公开的Microsoft SSPI API。
SSO可以使用Kerberos和NTLM来完成。该系统已通过测试,并作为intranet ERP投入生产。
注意:我是node-expose-sspi的作者。
发布于 2017-01-05 08:52:05
正如作者在他们的更新中指出的那样,这可以使用Node-SSPI来完成。我验证了它也可以在windows域上工作。
https://stackoverflow.com/questions/33257969
复制相似问题