护照活动目录node.js

2024-04-22

我已经成功地将六个护照策略(facebook、twitter、linkedin、instagram、tumblr、google、youtube)与 oauth1 和 oauth2 令牌交换帐户信息组装到一个独立的身份验证服务器中,该服务器在 Mongo 中保存会话并创建活动配置文件,使用 Tedious.js 在 SQL Server 中包含 token/session/code/id 字段以及许多标准化属性字段。这些护照工具非常好,谢谢。

我对该项目的最后一个挑战也不是将用户名和密码放入活动目录存储库中,以相同的方式进行查找和身份验证。我一直在一遍又一遍地尝试passport-ldap,passport-ldapauth(基于ldapauth-gfork,基于ldapjs),passport-windowsauth和passport-kerberos,并且似乎遇到了相关的凭证错误(在代码深处,添加控制台.logs 尝试找出我在语法上出错的地方)。

是否有其他资源和文档可以使用 Passport 策略访问 Node.js 中的 LDAP/AD? DN 与 ou 语法以及存储库的帐户访问用户(有专门设置来访问 AD 的服务帐户)与您正在查找的帐户用户的位置以及过滤器使得很难找到与找出相关的任何错误我哪里出错了。您与 sAMAccountName 或 uid 匹配吗?我不断收到“未经授权”的错误。

与其他 70 个护照策略不同,其中的文档和示例清晰且有效,而对于 ad/ldap 护照则不然。谁能给我指出一个专门与 Passport.js 和 Active Directory 配合使用的良好测试、文档或设置?


虽然这是我认为的一个老问题,但作为维护者passport-ldapauth,我应该稍微澄清一下 LDAP 身份验证。

LDAP 身份验证与您之前使用过的策略不同。这些 OAuth 策略实际上只能通过一种方式进行配置 - 提供所需的选项,然后它就可以工作。这部分与 LDAP 相同,但选项的实际值因一台服务器而异。您提出的问题(例如是否与 sAMAccountName 或 uid 匹配)实际上取决于您和 LDAP 服务器。

RFC 中广泛定义了诸如 DN 的外观、搜索库是什么或搜索过滤器的语法是什么等一般内容。如果不熟悉基础知识,则可能很难进行身份验证。通常需要 AD/LDAP 服务器维护人员输入才能进行正确的设置,例如。什么搜索库允许查找所有必需的用户,但不会在 LDAP 服务器上造成不必要的负载。

LDAP 身份验证通常分三个步骤进行:

  1. 使用服务帐户(在passport-ldapauth, bindDn and bindCredentials),绑定 LDAP 服务器。
  2. 绑定后,执行配置的搜索,用用户提供的用户名替换占位符。这确定是否可以从 LDAP 服务器找到给定的用户名。
  3. Use the DN搜索结果以及用户提供的密码,并绑定到 LDAP 服务器。这将验证密码。

如果您希望用户使用他们的登录SAMAccountName,您的搜索过滤器可以是例如。(sAMAccountName={{username}})。如果您希望用户使用uid,过滤器可能只是(uid={{username}})。如果您想同时启用两者,请使用(|(sAMAccountName={{username}})(uid={{username}}))。搜索过滤器语法在 RFC 4515 中指定。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

护照活动目录node.js 的相关文章

随机推荐

  • 返回 clickhouse 数组作为列

    Clickhouse 是否可以将包含一对数组的结果转换为列 形成这个结果 f1 f2 f3 a 1 2 3 x y z b 4 5 6 x y z to f1 x y z a 1 2 3 b 4 5 6 这个想法是不必为每行重复标题值 就我
  • Webpack - 如何捆绑/需要文件夹(子文件夹)的所有文件

    我想看看是否有更短的方式来运行 webpack 包 以及为什么我的加载器不起作用 这是我的代码 module exports context path join dirname dist entry ES6bundle js jQuery
  • JS 库来模拟 Internet Explorer?

    Webkit中有一些JS库可以模拟IE吗 例如 IE8不支持border radius目前 可能在 IE10 上 所以我运行一个 JS 库来检查我是否正在使用border radius然后将其删除以制作类似于IE的视觉 我知道这是一个疯狂的
  • Android Accessibility 服务实时音频处理

    有人可以为我提供 Android 辅助功能服务实时音频处理的示例代码吗 我需要处理通话音频 但不知道如何实现这一点 请分享您对此的想法 请找到下面的清单
  • 我如何在create js中更改图形的填充颜色

    我用它来改变创建js中的填充颜色 这不起作用 var shape rect new createjs Shape shape rect graphics beginFill FFD64B drawRect 61 253 398 25 sha
  • 检查混音器线路中的音频播放电平?

    我试图弄清楚 Windows 中是否正在播放任何类型的声音 通过任何应用程序 如果某处有什么东西发出噪音 我想知道 在遵循文档之后 我找到了如何获取机器上的混音器列表以及这些混音器的线路 如果我理解正确的话 这些线路是用于混音器的输入 输出
  • 如何设置选择器的边框

    我有来自 反应本机 Picker Item有 周一 周二 周三等 我想设置选择器的属性 例如borderRadius 10 even style borderRadius 30 没有帮助
  • CSS3 使文本在三角形内居中

    我在页面的左上角有一个三角形图像 以及一些需要在底部居中的文本 使用 CSS3transform rotate 我可以通过一些定位 边距来做到这一点 但它在浏览器中看起来并不相同 它看起来有点向左或向右 有没有办法将其居中 以便它在所有浏览
  • FindFirstFile 和 FindNextFile 问题

    输出 The first file found is LOG 09 TXT Next file name is LOG 10 TXT Next file name is LOG 11 TXT Next fi cut off word fil
  • 当文件名有重音符号时使用 pandas.read_csv 进行编码

    我正在尝试使用 pandas 加载 CSV 但如果文件名有重音符号 则会遇到问题 这显然是一个编码问题 但尽管如此read csv允许您设置文件内文本的编码 我不知道如何正确编码文件名 input file r C Datasets s P
  • 我应该用 C++ 封装 Lua 代码的哪些代码?

    我终于将 LuaBind 配置为与我的 C 项目一起使用 我最近发现 Tiled 地图编辑器可以选择将文件导出为 lua 所以我想尝试一下 我将使用什么代码来封装下面粘贴的代码以使其与我的 C RPG 项目一起使用 return versi
  • 空 Repeater 控件的默认文本

    使用 VS 2008 我有一个 Repeater 控件
  • GPUImage 的 GPUImageOpacityFilter 行为不符合预期,不会更改 Alpha 通道

    我正在尝试做一个Overlay Blend具有相机源输出的库存图像 其中库存图像的不透明度小于 100 我想我可以放一个GPUImageOpacityFilter在过滤器堆栈中 一切都会好起来的 GPUImageVideoCamera gt
  • DOM 元素的样式对象更改后可以触发 JavaScript 钩子吗?

    一个元素有一个 JavaScriptstyle包含 CSS 样式的不同名称和值的对象 我想在每次该对象发生变化时触发一个函数不使用轮询 有没有什么方法可以跨浏览器兼容并且可以与第三方代码可靠地工作 因为假设您提供了一个嵌入式脚本 绑定 Ja
  • 从 WebBrowser 控件以横向模式打印?

    System Windows Forms WebBrowser wb new System Windows Forms WebBrowser wb DocumentStream new FileStream C a html FileMod
  • 自定义组件和选项卡顺序

    我有一个自定义组件 继承自TCustomPanel 由另外两个组件组成 假设有两个编辑 使用组件时如何获得正确的 Tab 键顺序 在选项卡顺序设计器中 我只能访问组件本身 该组件本身无法获得焦点 因为它是一个面板 在运行时发生的情况是 我可
  • MIPS 在程序中使用 $s0... 等注册并最终恢复它是否优雅

    我在 MIPS 教程中读到 只有寄存器 s0 s7 在过程调用中被保留 但我认为 也许我错了 创建有副作用的程序并不优雅 我认为程序应该只更改 v0 v1 寄存器和堆栈 如果需要的话 我是对的吗 所以我认为在我的程序中我只能使用 t0 t9
  • 在php中序列化匿名函数

    有没有办法在php中序列化匿名函数 我找到了这个http www htmlist com development extending php 5 3 closures with serialization and reflection ht
  • 如何使用元组列表中的索引创建 pandas DataFrame

    使用记录索引创建 pandas DataFrame 的最佳方法是什么 这是我的样本 sales Jones LLC 150 200 50 Alpha Co 200 210 90 Blue Inc 140 215 95 labels acco
  • 护照活动目录node.js

    我已经成功地将六个护照策略 facebook twitter linkedin instagram tumblr google youtube 与 oauth1 和 oauth2 令牌交换帐户信息组装到一个独立的身份验证服务器中 该服务器在