2017-05-10 4 views
1

Ich benutze activedirectory module von npmjs in einer meiner Knoten-Anwendung für die Authentifizierung gegen Active Directory, meine Frage ist- Ist es erforderlich, ein einfaches String-Passwort während der Authentifizierung mit AD zu senden? Ich meine, wenn die Anzeige das Benutzerpasswort speichert, muss es auf irgendeine Weise verschlüsselt werden. Können wir ein verschlüsseltes Passwort für Authentifizierungen senden? Hier ist, was ich meine -NPM - ActiveDirectory Modul Authentifizierung

ad.authenticate(username, password, function(err, auth) { 
// instead of plain password can it be encrypted password? 
if (err) { 
    console.log('ERROR: '+JSON.stringify(err)); 
    return; 
    } 

    if (auth) { 
    console.log('Authenticated!'); 
    } 
    else { 
    console.log('Authentication failed!'); 
    } 
}) 

Antwort

1

Die Lösung ist ldaps (Secure LDAP) und bietet eine CA zur Prüfung zu verwenden, wenn Sie zum ersten Mal verbinden. Die Anmeldeinformationen, die über die Leitung gesendet werden, werden verschlüsselt, und MITM-Angriffe funktionieren nicht, wenn Sie die Zertifikatsüberprüfung erzwingen.

const ActiveDirectory = require("activedirectory"); 
const ad = new ActiveDirectory({ 
    url: "ldaps://dc.domain.com", 
    baseDN: "dc=domain,dc=com", 
    username: "[email protected]", 
    password: "password", 
    tlsOptions: { 
     ca: [fs.readFileSync("CA.crt")], 
     rejectUnauthorized: true // Force Certificate Verification 
    } 
});