Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. var passport = require('passport');
  2. var localStrategy = require('passport-local' ).Strategy;
  3. // configure passport
  4. passport.use(new localStrategy(User.authenticate()));
  5. passport.serializeUser(User.serializeUser());
  6. passport.deserializeUser(User.deserializeUser());
  7.  
  8. var User = new Schema({
  9. email: String,
  10. password: String
  11. });
  12.  
  13. router.post('/register', function(req, res) {
  14. User.register(new User({ email: req.body.email }),
  15. req.body.password, function(err, user) {
  16. if (err) {
  17. return res.status(500).json({
  18. err: err
  19. });
  20. }
  21. passport.authenticate('local')(req, res, function () {
  22. return res.status(200).json({
  23. status: 'Registration successful!'
  24. });
  25. });
  26. });
  27. });
  28.  
  29. $scope.register = function () {
  30.  
  31. // initial values
  32. $scope.error = false;
  33. $scope.disabled = true;
  34.  
  35. // call register from service
  36. AuthService.register($scope.user.email, $scope.user.password)
  37. // handle success
  38. .then(function () {
  39. $location.path('/login');
  40. $scope.disabled = false;
  41. $scope.user = {};
  42. })
  43. // handle error
  44. .catch(function () {
  45. $scope.error = true;
  46. $scope.errorMessage = "Something went wrong!";
  47. $scope.disabled = false;
  48. $scope.user = {};
  49. });
  50.  
  51. };
  52.  
  53. app.factory('AuthService',
  54. ['$q', '$timeout', '$http',
  55. function ($q, $timeout, $http) {
  56.  
  57. // create user variable
  58. var user = null;
  59.  
  60. // return available functions for use in the controllers
  61. return ({
  62. isLoggedIn: isLoggedIn,
  63. getUserStatus: getUserStatus,
  64. login: login,
  65. logout: logout,
  66. register: register
  67. });
  68.  
  69. function isLoggedIn() {
  70. if(user) {
  71. return true;
  72. } else {
  73. return false;
  74. }
  75. }
  76.  
  77. function getUserStatus() {
  78. return $http.get('/user/status')
  79. // handle success
  80. .success(function (data) {
  81. if(data.status){
  82. user = true;
  83. } else {
  84. user = false;
  85. }
  86. })
  87. // handle error
  88. .error(function (data) {
  89. user = false;
  90. });
  91. }
  92.  
  93.  
  94. function register(email, password) {
  95.  
  96. // create a new instance of deferred
  97. var deferred = $q.defer();
  98.  
  99. // send a post request to the server
  100. $http.post('/user/register',
  101. {email: email, password: password})
  102. // handle success
  103. .success(function (data, status) {
  104. if(status === 200 && data.status){
  105. deferred.resolve();
  106. } else {
  107. deferred.reject();
  108. }
  109. })
  110. // handle error
  111. .error(function (data) {
  112. deferred.reject();
  113. });
  114.  
  115. // return promise object
  116. return deferred.promise;
  117.  
  118. }
  119.  
  120. }]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement