WIP: Criação da autenticação pelo LDAP.
All checks were successful
Deploy Dev / deploy (push) Successful in 15s
All checks were successful
Deploy Dev / deploy (push) Successful in 15s
This commit is contained in:
parent
46024bcf6d
commit
6edfd62a47
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/node_modules
|
||||
.env*
|
||||
1078
package-lock.json
generated
Normal file
1078
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -8,11 +8,14 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"dotenv": "^16.4.5",
|
||||
"ldapjs": "^3.0.7",
|
||||
"winston": "^3.13.0",
|
||||
"winston-daily-rotate-file": "^5.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^25.6.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"nodemon": "^3.1.0"
|
||||
"nodemon": "^3.1.0",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
32
src/modules/autenticacao/ldap/service.ts
Normal file
32
src/modules/autenticacao/ldap/service.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import * as ldap from 'ldapjs';
|
||||
// import { validateUser } from './repository';
|
||||
|
||||
interface LoginData {
|
||||
username: string;
|
||||
password: string;
|
||||
}
|
||||
|
||||
function authenticateUserAD(loginData: LoginData): Promise<{ message: string }> {
|
||||
return new Promise((resolve, reject) => {
|
||||
try {
|
||||
const userDN = `${loginData.username}@sothis.com.br`;
|
||||
|
||||
const client = ldap.createClient({
|
||||
url: 'ldap://kratos.sothistelecom.com',
|
||||
});
|
||||
|
||||
client.bind(userDN, loginData.password, (err) => {
|
||||
if (err) {
|
||||
reject(new Error('Autenticação falhou: ' + err.message));
|
||||
} else {
|
||||
resolve({ message: 'Autenticação bem-sucedida' });
|
||||
}
|
||||
client.unbind();
|
||||
});
|
||||
} catch (error) {
|
||||
reject(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export { authenticateUserAD };
|
||||
Loading…
Reference in New Issue
Block a user