javascript - 使用 javascript 和 Node 的 Windows AD 单点登录

标签 javascript node.js authentication active-directory single-sign-on

我正在实现基于 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/

相关文章:

node.js - npm 安装错误版本的 Angular(8.1.0)

php - 远程停止 NodeJS

mysql - 在nodejs中使用关联和排序来 Sequelize findAll

azure - 在 Azure 移动应用程序中向经过身份验证的用户添加其他声明

java - 在文本文档中搜索一行 - JAVA

javascript - 返回具有编辑对象属性的新 redux 状态

javascript - 媒体查询在 iphone 5 上失败

javascript - 在 Angular2 中使用生成的 Swagger TypeScript Rest Client

javascript - 我如何处理 api 的 javascript/clojurescript 包装器库?

html - 密码输入是唯一不会在选择时突出显示的字段