NodeJs com Active Directory 인증
Neste artigo irei mostrar uma forma simples de autenticar-se utilizando login e senha da sua base de dados do active directory com NodeJs.
시작 프로젝트
Estrutura básica da nossa API:

./src/config vamos criar o arquivo activeDirectory.js, dentro dele configurar nosso acesso ao servidor ldap.
1.instalar pacote 활성 디렉토리
yarn add activedirectory2.informações de seu servidor na variável de configuração, seu código deve ficar assim으로 biblioteca e insira를 가져옵니다.
const ActiveDirectory = require('activedirectory');
const dotenv = require('dotenv');
dotenv.config();
const config = {
url: process.env.AD_URL, // IP e porta do servidor AD Ex: ldap://XXX.XXX.XXX.XXX:XXX
baseDN: process.env.DOMAIN_CONTROLLER, //nome do domínio, exemplo: teste.local
username: process.env.AD_USERNAME, // usuário do AD para configuração de acesso
password: process.env.AD_PASSWORD, // senha do usuário
}
const ad = new ActiveDirectory(config);
module.exports = ad;
*Lembre-se sempre de não expor dados sensíveis em seu código, utilize variáveis de ambiente, como no exemplo.
Autenticação
Em ./src/controllers, criaremos nosso arquivo contendo o método de autenticação de usuários.
A biblioteca activedirectory nos ofecere um método chamado authenticate, que ao receber nome de usuário, dominio e senha, chama uma função callback indicando sucesso ou erro.
const ad = require("../config/activeDirectory");
//Método para autenticar usuários
exports.user_authenticate = async (req, res) => {
const { user, pass, domain } = req.body;
try {
await ad.authenticate( domain + "\\" + user, pass,
function (err, auth) {
if (auth) {
return res.status(200).json({
message: "Authenticated!"
});
}
else {
return res.status(401).send({
message: "Authentication failed!",
error: err
});
}
});
}catch (err) {
return res.status(500).send({ message: "ERROR " + err });
}
};
Agora vamos criar uma rota para testar nossa autenticação:
const router = require('express')();
const authController = require('../controllers/auth.controller');
// => Definindo as rotas de autenticação
router.post('/login', authController.user_authenticate); //{POST} localhost:3000/api/ad/login
module.exports = router;
Partindo para o Insomnia, vamos testar nossa rota:

Sucesso em nossa autenticação!
*Neste teste foram utilizados dados fictícios, você deve preencher com um usuário e senha existente em seu servidor AD.
Pessoal, por enquanto é isso, nos próximos artigos vamos implementar JWT neste modelo de autenticação e middlewares.
Projeto completeto encontra-se no Github .
Obrigada, até à próxima!
Reference
이 문제에 관하여(NodeJs com Active Directory 인증), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/le11/autenticacao-nodejs-com-active-directory-453o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)