Various fixes
This commit is contained in:
65
app/partials/login/authentication.service.js
Normal file
65
app/partials/login/authentication.service.js
Normal file
@@ -0,0 +1,65 @@
|
||||
(function(){
|
||||
'use strict';
|
||||
|
||||
angular
|
||||
.module('app.login')
|
||||
.service('authentication', authentication);
|
||||
|
||||
authentication.$inject = ['$http', '$window'];
|
||||
function authentication ($http, $window) {
|
||||
|
||||
var saveToken = function (token) {
|
||||
$window.localStorage['mean-token'] = token;
|
||||
};
|
||||
|
||||
var getToken = function () {
|
||||
return $window.localStorage['mean-token'];
|
||||
};
|
||||
|
||||
var logout = function() {
|
||||
$window.localStorage.removeItem('mean-token');
|
||||
};
|
||||
|
||||
var isLoggedIn = function() {
|
||||
var token = getToken();
|
||||
var payload;
|
||||
|
||||
if(token){
|
||||
payload = token.split('.')[1];
|
||||
payload = $window.atob(payload);
|
||||
payload = JSON.parse(payload);
|
||||
|
||||
return payload.exp > Date.now() / 1000;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
var currentUser = function() {
|
||||
if(isLoggedIn()){
|
||||
var token = getToken();
|
||||
var payload = token.split('.')[1];
|
||||
payload = $window.atob(payload);
|
||||
payload = JSON.parse(payload);
|
||||
return {
|
||||
_id: payload._id,
|
||||
role: payload.role
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
var login = function(user) {
|
||||
return $http.post('http://'+$rootScope.domainUrl+'/login', user).success(function(data) {
|
||||
saveToken(data.token);
|
||||
});
|
||||
};
|
||||
|
||||
return {
|
||||
saveToken : saveToken,
|
||||
getToken : getToken,
|
||||
logout : logout,
|
||||
isLoggedIn : isLoggedIn,
|
||||
currentUser : currentUser
|
||||
};
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user