Guest User

Untitled

a guest
Dec 7th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. var ActiveDirectory = require('activedirectory');
  2. var config = {
  3. url: '...',
  4. baseDN: '...'
  5. };
  6.  
  7. var ad = new ActiveDirectory(config);
  8. var username = 'xxx';
  9. var password = 'yyy';
  10.  
  11. function tryAuth(username, password) {
  12. return new Promise((res, rej) => {
  13. ad.authenticate(username, password, (err, auth) => {
  14. if (err) {
  15. rej(err);
  16. return;
  17. }
  18. if (auth) {
  19. res();
  20. } else {
  21. rej();
  22. }
  23. });
  24. })
  25. }
  26.  
  27. function getUser(username) {
  28. return new Promise((res, rej) => {
  29. ad.findUser(username, (err, user) => {
  30. if (err) {
  31. rej(err);
  32. return;
  33. }
  34.  
  35. if (! user) rej('User: ' + username + ' not found.');
  36. else res(user);
  37. });
  38. })
  39. }
  40.  
  41. function authUser(username, password) {
  42. return getUser(username)
  43. .catch(() => getUser(username.substr(0, username.indexOf("@"))))
  44. .then(user => {
  45. return tryAuth(user.userPrincipalName, password)
  46. .then(() => user)
  47. })
  48. }
  49.  
  50.  
  51. authUser(username, password)
  52. .then(user => {
  53. console.log(user);
  54. })
  55. .catch(err => {
  56. console.log(JSON.stringify(err));
  57. })
Add Comment
Please, Sign In to add comment