- (function () {
- angular
- .module('readApp')
- .service('authentication', authentication);
- authentication.$inject = ['$window','$http'];
- function authentication($window, $http) {
- varsaveToken =function (token) {
- $window.localStorage['read-token'] = token;
- };
- vargetToken =function () {
- return$window.localStorage['read-token'];
- };
- varregister =function(user) {
- return$http.post('/api/register', user).success(function(data) {
- saveToken(data.token);
- });
- };
- varlogin =function(user) {
- return$http.post('/api/login', user).success(function(data) {
- saveToken(data.token);
- });
- };
- varlogout =function() {
- $window.localStorage.removeItem('read-token');
- };
- varisLoggedIn =function() {
- vartoken = getToken();
- if (token) {
- varpayload = JSON.parse($window.atob(token.split('.')[1]));
- returnpayload.exp > Date.now() / 1000;
- } else {
- return false;
- }
- };
- varcurrentUser =function() {
- if (isLoggedIn()) {
- vartoken = getToken();
- varpayload = JSON.parse($window.atob(token.split('.')[1]));
- return {
- email: payload.email,
- name: payload.name,
- };
- }
- };
- return {
- saveToken: saveToken,
- getToken: getToken,
- register: register,
- login: login,
- logout: logout,
- isLoggedIn: isLoggedIn,
- currentUser: currentUser,
- };
- }
- })();
来源: