有没有一种在 Nestjs 中使用 Active Directory 身份验证的好方法?

Anu*_*h.R 6 ldap active-directory nestjs

我正在使用 Nestjs 框架作为后端创建登录系统。作为该过程的一部分,我的系统必须与 Active Directory 通信才能对一组用户进行身份验证。我在谷歌上搜索了很长时间,但找不到任何将 Active Directory 与 Nestjs 集成的方法。鼓励任何形式的建议。

Pet*_*ble 0

最简单的方法是使用 Nestjs 的 Passport 实用模块:

https://github.com/nestjs/passport

使用passport可以实现活动目录策略。

var passport = require('passport')
var ActiveDirectoryStrategy = require('passport-activedirectory')

passport.use(new ActiveDirectoryStrategy({
  integrated: false,
  ldap: {
    url: 'ldap://my.domain.com',
    baseDN: 'DC=my,DC=domain,DC=com',
    username: 'readuser@my.domain.com',
    password: 'readuserspassword'
  }
}, function (profile, ad, done) {
  ad.isUserMemberOf(profile._json.dn, 'AccessGroup', function (err, isMember) {
   if (err) return done(err)
   return done(null, profile)
  })
}))
Run Code Online (Sandbox Code Playgroud)