首页 > 解决方案 > 如何用passport-ldapauth做一个ldap认证服务

问题描述

我正在尝试创建一个休息服务,该服务将使用用户名和密码对用户进行身份验证。

提供给我的数据是(数据是示例,不是我实际得到的): -host: 10.10.10.10 -port: 443 -attribute: uid -base: dc=example, dc=corp -admin_user: "cn =ex,ou=applications,dc=example,dc=corp" -admin_password: "example123"

我尝试过的是使用 node.js 和 passport-ldapauth,代码如下:

const express = require('express')
const app = express();
const port = 443;
var passport = require('passport');
const LdapStrategy = require('passport-ldapauth');
const bodyParser = require('body-parser');

const OPTS = {
    server: {
        url: 'LDAP://10.10.10.10/dc=example, dc=corp',
        port: 443,
        bindDN: 'dc=example, dc=corp'
    }
};

passport.use(new LdapStrategy(OPTS));

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
app.use(passport.initialize());

app.post('/login', passport.authenticate('ldapauth', {session:     false}), function(req, res){
    res.send({status: 'ok'});
});

app.listen(port, () =>{
    console.log('Listening');
})

但是我什至没有收到来自服务器的响应,邮递员调用http://localhost/login,用户名和密码作为 json 或 urlencoded 传递,我不知道问题是在我这边还是在服务器端。

任何帮助都感激不尽。

标签: node.jspassport.jsldapauth

解决方案


推荐阅读