Advertisement
Guest User

Untitled

a guest
Oct 21st, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.76 KB | None | 0 0
  1. exports.create = function(req, res, next) {
  2.  
  3. var newUser = new User(req.body);
  4. newUser.provider = 'local';
  5. newUser.role = 'user';
  6.  
  7. newUser.save(function(err, user) {
  8. if (err) return validationError(res, err);
  9. var token = jwt.sign({
  10. _id: user._id
  11. }, config.secrets.session, {
  12. expiresInMinutes: 60 * 5
  13. });
  14. res.json({
  15. token: token
  16. });
  17. });
  18. };
  19.  
  20. $scope.register = function(form) {
  21.  
  22. Auth.createUser({
  23. username: $scope.user.name,
  24. useremail: $scope.user.email,
  25. password: $scope.user.password
  26. })
  27.  
  28. };
  29.  
  30. var newUser = new User(req.body);
  31. newUser.provider = 'local';
  32. newUser.role = 'user';
  33.  
  34. newUser.save(function(err, user) {
  35. if (err) return validationError(res, err);
  36. var token = jwt.sign({
  37. _id: user._id
  38. }, config.secrets.session, {
  39. expiresInMinutes: 60 * 5
  40. });
  41. res.json({
  42. token: token
  43. });
  44. });
  45.  
  46. Auth.createUser({
  47. username: $scope.user.name,
  48. useremail: $scope.user.email,
  49. password: $scope.user.password
  50. })
  51.  
  52. };
  53.  
  54. createUser: function(user, callback) {
  55. var cb = callback || angular.noop;
  56.  
  57. return User.save(user,
  58. function(data) {
  59. $cookieStore.put('token', data.token);
  60. currentUser = User.get();
  61. return cb(user);
  62. },
  63. function(err) {
  64. this.logout();
  65. return cb(err);
  66. }.bind(this)).$promise;
  67. }
  68.  
  69. var newUser = new User(req.body);
  70. newUser.provider = 'local';
  71. newUser.role = 'user';
  72.  
  73. newUser.save(function(err, user) {
  74. if (err) return validationError(res, err);
  75. var token = jwt.sign({
  76. _id: user._id
  77. }, config.secrets.session, {
  78. expiresInMinutes: 60 * 5
  79. });
  80. res.json({
  81. token: token
  82. });
  83. });
  84.  
  85. Auth.createUser({
  86. username: $scope.user.name,
  87. useremail: $scope.user.email,
  88. password: $scope.user.password
  89. })
  90.  
  91. };
  92.  
  93. return User.save(user,
  94. function(data) {
  95. $cookieStore.put('token', data.token);
  96. currentUser = User.get();
  97. return cb(user);
  98. },
  99. function(err) {
  100. this.logout();
  101. return cb(err);
  102. }.bind(this)).$promise;
  103.  
  104. .factory('User', function ($resource) {
  105. return $resource('/api/users/:id/:controller', {
  106. id: '@_id'
  107. },
  108. {
  109. changePassword: {
  110. method: 'PUT',
  111. params: {
  112. controller:'password'
  113. }
  114. },
  115. get: {
  116. method: 'GET',
  117. params: {
  118. id:'me'
  119. }
  120. }
  121. });
  122. });
  123.  
  124. get: {
  125. method: 'GET',
  126. params: {
  127. id:'me'
  128. }
  129. }
  130.  
  131. router.get('/me', auth.isAuthenticated(), controller.me);
  132.  
  133. exports.me = function(req, res, next) {
  134. var userId = req.user._id;
  135. User.findOne({
  136. _id: userId
  137. }, '-salt -hashedPassword', function(err, user) {
  138. if (err) return next(err);
  139. if (!user) return res.status(401).send('Unauthorized');
  140. res.json(user);
  141. });
  142. };
  143.  
  144. var validateJwt = expressJwt({ secret: config.secrets.session });
  145.  
  146. /**
  147. * Attaches the user object to the request if authenticated
  148. * Otherwise returns 403
  149. */
  150.  
  151. function isAuthenticated() {
  152. return compose()
  153. // Validate jwt
  154. .use(function(req, res, next) {
  155. // allow access_token to be passed through query parameter as well
  156. if(req.query && req.query.hasOwnProperty('access_token')) {
  157. req.headers.authorization = 'Bearer ' + req.query.access_token;
  158. }
  159. validateJwt(req, res, next);
  160. })
  161. // Attach user to request
  162. .use(function(req, res, next) {
  163. User.findById(req.user._id, function (err, user) {
  164. if (err) return next(err);
  165. if (!user) return res.status(401).send('Unauthorized');
  166.  
  167. req.user = user;
  168. next();
  169. });
  170. }).use(function (err, req, res, next) {
  171. if (err.name === 'UnauthorizedError') {
  172. var e = [];
  173. e.push(err);
  174. return res.status(401).send(e);
  175. }
  176. });
  177. }
  178.  
  179. var newUser = new User(req.body);
  180. newUser.provider = 'local';
  181. newUser.role = 'user';
  182.  
  183. newUser.save(function(err, user) {
  184. if (err) return validationError(res, err);
  185. var token = jwt.sign({
  186. _id: user._id
  187. }, config.secrets.session, {
  188. expiresInMinutes: 60 * 5
  189. });
  190. res.json({
  191. token: token
  192. });
  193. });
  194.  
  195. Auth.createUser({
  196. username: $scope.user.name,
  197. useremail: $scope.user.email,
  198. password: $scope.user.password
  199. })
  200.  
  201. };
  202.  
  203. return User.save(user,
  204. function(data) {
  205. $cookieStore.put('token', data.token);
  206. currentUser = User.get();
  207. return cb(user);
  208. },
  209. function(err) {
  210. this.logout();
  211. return cb(err);
  212. }.bind(this)).$promise;
  213.  
  214. req.user = user;
  215. next();
  216. });
  217. }).use(function (err, req, res, next) {
  218. if (err.name === 'UnauthorizedError') {
  219. var e = [];
  220. e.push(err);
  221. return res.status(401).send(e);
  222. }
  223. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement