Advertisement
Guest User

auth.js

a guest
Sep 22nd, 2014
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict';
  2.  
  3. app.factory('auth', function($http, $q, identity, authorization, UsersResource, baseUrl) {
  4.     var usersApi = baseUrl + '/api/users'
  5.  
  6.     return {
  7.         signup: function(user) {
  8.             var deferred = $q.defer();
  9.             $http.post(usersApi + '/Register', {
  10.                     Email: user.email,
  11.                     Password: user.password,
  12.                     ConfirmPassword: user.password
  13.                 },
  14.                 {
  15.                     transformRequest: function (obj) {
  16.                         var str = [];
  17.                         for (var p in obj)
  18.                             str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
  19.                         return str.join("&");
  20.                     },
  21.                     headers: {
  22.                         'Content-Type': 'application/x-www-form-urlencoded'
  23.                     }
  24.                 })
  25.                 .success(function (data, status, headers, config) {
  26.                     deferred.resolve(data);
  27.                 })
  28.  
  29.             return deferred.promise;
  30.         },
  31.         login: function(user){
  32.             var deferred = $q.defer();
  33.             user['grant_type'] = 'password';
  34.             $http.post(usersApi + '/login', 'username=' + user.username + '&password=' + user.password + '&grant_type=password', { headers: {'Content-Type': 'application/x-www-form-urlencoded'} }).success(function(response) {
  35.                 if (response["access_token"]) {
  36.                     identity.currentUser = response;
  37.                     deferred.resolve(true);
  38.                 }
  39.                 else {
  40.                     deferred.resolve(false);
  41.                 }
  42.             });
  43.  
  44.             return deferred.promise;
  45.         },
  46.         logout: function() {
  47.             var deferred = $q.defer();
  48.             $http.put(usersApi + '/Logout')
  49.                 .success(function (data, status, headers, config) {
  50.                     identity.currentUser = undefined;
  51.                     deferred.resolve(data);
  52.                 })
  53.  
  54.             return deferred.promise;
  55.         },
  56.         isAuthenticated: function() {
  57.             if (identity.isAuthenticated()) {
  58.                 return true;
  59.             }
  60.             else {
  61.                 return $q.reject('not authorized');
  62.             }
  63.         },
  64.         isAuthorizedForRole: function(role) {
  65.             if (identity.isAuthorizedForRole(role)) {
  66.                 return true;
  67.             }
  68.             else {
  69.                 return $q.reject('not authorized');
  70.             }
  71.         }
  72.     }
  73. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement