我正在尝试创建一个休息服务,该服务将使用用户名和密码对用户进行身份验证。
为此提供给我的数据是(数据是示例,而不是我实际得到的): -主机:10.10.10.10 端口:443 -属性:uid -base:dc = example,dc = corp -admin_user:“ cn = ex,ou =应用程序,dc =示例,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');
})
但是我什至没有收到来自服务器的响应,邮递员用{name}或urlencode传递的用户名和密码来调用http://localhost/login,我不知道问题出在我方还是服务器端
任何帮助将不胜感激。