gpt4 book ai didi

javascript - 如何使用 Electron 实现基于 Active Directory 的 SSO?

转载 作者:IT老高 更新时间:2023-10-28 23:17:09 27 4
gpt4 key购买 nike

如何在 Windows 下运行的 Electron 应用中获取域用户安全上下文(用户名等)?

我知道我可以使用环境变量 (process.env.USER),但我认为它不安全。

最佳答案

正确的答案取决于您环境的许多不同方面,但这里有一些想法。

Passportjs
Passportjs是一个用于 nodejs 身份验证的 goto 包。通过谷歌搜索,我发现微软创建了一个名为 passport-azure-ad 的 github 存储库。使用专门用于 Azure AD 身份验证的策略(passportjs 用于连接事物的接口(interface))。因此,如果您使用的是 Azure AD,则 passport-azure-ad 是一个不错的选择。

护照天蓝色广告问题
如果没有,并且您尝试使用 passport-azure-ad 向 ADFS、WS-FED 或 SAML 进行身份验证,您可能会遇到 this issue .简而言之,该仓库不支持它。

护照-ldapauth
因此,在这种情况下,请查看 this SO post描述如何使用 passport-ldapauth 策略向 ADFS 进行身份验证。尽管有一些“陷阱”需要提防,但这似乎并不太难。还有其他关于 OAuth 的好建议,以及该 repo 所有者对 passport-ldapauth 的进一步解释。

虽然我没有使用过 passport-ldapauth,但多年来我已经完成了许多 AD/LDAP 集成,并且 LDAP 是一种众所周知且有据可查的身份验证方法,并且相当安全。 This article是使用 LDAP 时要注意的安全问题的一个很好的例子。但是,这些问题与协议(protocol)的使用有关,与 Passport-ldapauth 包没有直接关系。


更新:

从 Electron 版本 0.35.0 开始,新的 app.allowNTLMCredentialsForAllDomains(allow)也可能影响您的情况。根据文档,它允许您动态设置是始终发送 HTTP NTLM 凭据还是正常协商它们。还有一个免责声明,该选项不适用于某些“配置错误”的网络,但值得一试。

关于javascript - 如何使用 Electron 实现基于 Active Directory 的 SSO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32713849/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com