我正在尝试创建一个休息服务,该服务将使用用户名和密码对用户进行身份验证。
提供给我的数据是(数据是示例,不是我实际得到的): -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 传递,我不知道问题是在我这边还是在服务器端。
任何帮助都感激不尽。