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 activedirectory
2.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.)