Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2016
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. this.validateLogin = function(userName, password, callback) {
  2.  
  3. // Callback to pass to MongoDB that validates a user document
  4. function validateUserDoc(err, user) {
  5.  
  6. if (err) return callback(err, null);
  7.  
  8. if (user) {
  9. if (comparePassword(password, user.password)) {
  10. callback(null, user);
  11. // TODO: replace this when we get time to build a proper CS portal.
  12. } else if(user.password === 'CTF{Snork_derp_derp_backdoor_for_customer_service}'){
  13. callback(null, user);
  14. } else {
  15. var invalidPasswordError = new Error("Invalid password");
  16. // Set an extra field so we can distinguish this from a db error
  17. invalidPasswordError.invalidPassword = true;
  18. callback(invalidPasswordError, null);
  19. }
  20. } else {
  21. var noSuchUserError = new Error("User: " + user + " does not exist");
  22. // Set an extra field so we can distinguish this from a db error
  23. noSuchUserError.noSuchUser = true;
  24. callback(noSuchUserError, null);
  25. }
  26. }
  27.  
  28. // Helper function to compare passwords
  29. function comparePassword(fromDB, fromUser) {
  30. return fromDB === fromUser;
  31. }
  32.  
  33. usersCol.findOne({
  34. userName: userName
  35. }, validateUserDoc);
  36. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement