【发布时间】:2016-05-12 09:28:36
【问题描述】:
我正在构建一个 nodejs 服务器,我决定通过活动目录执行身份验证。
所以我的第一个问题:nodejs 有可能吗?如果是这样,有人可以指导我阅读相关文章/文档/插件吗?
我的第二个问题是关于身份验证本身。 我的服务器很安静,所以每次我向服务器请求某些内容时,我基本上都必须提供某种形式的身份证明。
我想到了下一个流程:
在客户端的登录页面,我将用户名和密码发送到服务器。
在服务器上,我使用客户端发送的凭据向 Active Directory 进行身份验证。
一旦我收到来自 Active Directory 的响应,我会检查它是否是有效响应,如果登录成功,我还会检查用户是否在 Active Directory 中拥有使用我的服务的适当权限。
验证完所有内容后,我会为用户创建一个令牌。 来自客户端的每个请求都必须包含一个有效的令牌。
这似乎是解决此问题的最标准方法,它比在每次请求中发送用户名/密码并每次都使用主动方向进行身份验证要简单和安全得多。
但是有些事情困扰着我。
例如:如果系统管理员决定从活动目录中删除用户或删除他使用我的服务的权限怎么办?该用户仍然有一个令牌,允许他访问我的服务。
我可以设置令牌的过期时间,但除非过期时间为一秒,否则服务器不会真正与活动目录同步。
你认为令牌是解决这个问题的方法吗?还是我应该通过发送每个请求的用户名和密码来做到这一点?
另一种方法是给客户端一个令牌,但在服务器上,将该令牌与活动目录用户名和密码相关联。每个请求,服务器都会使用活动目录进行身份验证?这是一个好方法吗?
谢谢, 阿里克
【问题讨论】:
标签: node.js authentication active-directory authorization