diff --git a/bower.json b/bower.json
index 66e03f3..39c060c 100644
--- a/bower.json
+++ b/bower.json
@@ -15,6 +15,7 @@
"bootstrap-sass-official": "~3.3.4",
"jquery": "~2.1.4",
"modernizr": "~2.8.3",
+ "ngstorage": "~0.3.9",
"open-sans-fontface": "~1.4.2"
},
"devDependencies": {
diff --git a/src/app/components/auth-user/auth-user.directive.js b/src/app/components/auth-user/auth-user.directive.js
new file mode 100644
index 0000000..b6b7ebc
--- /dev/null
+++ b/src/app/components/auth-user/auth-user.directive.js
@@ -0,0 +1,60 @@
+(function() {
+ 'use strict';
+
+ angular
+ .module('dialoga')
+ .directive('authUser', authUser);
+
+ /** @ngInject */
+ function authUser() {
+
+ /** @ngInject */
+ function AuthUserController($scope, AuthService, Session, AUTH_EVENTS, $log) {
+ $log.debug('AuthUserController');
+
+ var vm = this;
+
+ vm.$scope = $scope;
+ vm.AuthService = AuthService;
+ vm.Session = Session;
+ vm.AUTH_EVENTS = AUTH_EVENTS;
+ vm.$log = $log;
+
+ vm.init();
+ }
+
+ AuthUserController.prototype.init = function (){
+ var vm = this;
+
+ vm.currentUser = vm.Session.getCurrentUser();
+
+ // handle login
+ vm.$scope.$on(vm.AUTH_EVENTS.loginSuccess, function () {
+ vm.currentUser = vm.Session.getCurrentUser();
+ });
+
+ // handle logout
+ vm.$scope.$on(vm.AUTH_EVENTS.logoutSuccess, function () {
+ vm.currentUser = vm.Session.getCurrentUser();
+ });
+ };
+
+ AuthUserController.prototype.onClickLogout = function (){
+ var vm = this;
+
+ vm.AuthService.logout();
+ };
+
+ var directive = {
+ restrict: 'E',
+ templateUrl: 'app/components/auth-user/auth-user.html',
+ controller: AuthUserController,
+ controllerAs: 'vm',
+ bindToController: true
+ };
+
+ return directive;
+
+ }
+
+})();
diff --git a/src/app/components/auth-user/auth-user.html b/src/app/components/auth-user/auth-user.html
new file mode 100644
index 0000000..ac64ca4
--- /dev/null
+++ b/src/app/components/auth-user/auth-user.html
@@ -0,0 +1,15 @@
+
+
+ {{::vm.currentUser.login}}
+ |
+
+
+
+
+
+
+
diff --git a/src/app/components/auth-user/auth-user.scss b/src/app/components/auth-user/auth-user.scss
new file mode 100644
index 0000000..b6400c2
--- /dev/null
+++ b/src/app/components/auth-user/auth-user.scss
@@ -0,0 +1,3 @@
+.auth-user {
+
+}
diff --git a/src/app/components/auth/auth.service.js b/src/app/components/auth/auth.service.js
index ed58330..223c983 100644
--- a/src/app/components/auth/auth.service.js
+++ b/src/app/components/auth/auth.service.js
@@ -10,18 +10,9 @@
/** @ngInject */
function AuthService($http, $rootScope, Session, AUTH_EVENTS, API, $log) {
- var service = {
- login: login,
- logout: logout,
- isAuthenticated: isAuthenticated,
- isAuthorized: isAuthorized
- };
-
- $log.debug('AuthService', service);
- return service;
-
function login (credentials) {
- var url = API.host + '/api/v1/login';
+ var hostProd = 'http://login.dialoga.gov.br';
+ var url = hostProd + '/api/v1/login';
var encodedData = 'login=' + credentials.username + '&password=' + credentials.password;
return $http
@@ -40,7 +31,10 @@
}
function logout () {
+
Session.destroy();
+
+ $rootScope.$broadcast(AUTH_EVENTS.logoutSuccess);
}
function isAuthenticated () {
@@ -54,42 +48,42 @@
return (service.isAuthenticated() && authorizedRoles.indexOf(Session.userRole) !== -1);
}
+
+ var service = {
+ login: login,
+ logout: logout,
+ isAuthenticated: isAuthenticated,
+ isAuthorized: isAuthorized
+ };
+
+ $log.debug('AuthService', service);
+ return service;
}
/** @ngInject */
- function Session($cookies, $log) {
+ function Session($localStorage, $log) {
var service = {};
- var currentUser = $cookies.getObject('currentUser') || {};
+ // $localStorage.currentUser = $localStorage.currentUser || null;
service.create = function(data) {
- currentUser.id = data.id;
- currentUser.email = data.email;
- currentUser.login = data.login;
- currentUser.permissions = data.permissions;
- currentUser.person = data.person;
- currentUser.private_token = data.private_token;
- currentUser.activated = data.activated;
-
- $cookies.putObject('currentUser', currentUser);
+ $localStorage.currentUser = data;
+ $log.debug('User session created.', $localStorage.currentUser);
- $log.debug('User session created.', currentUser);
- return currentUser;
+ return $localStorage.currentUser;
};
service.destroy = function() {
- currentUser = {};
-
- $cookies.remove('currentUser');
+ delete $localStorage.currentUser;
$log.debug('User session destroyed.');
};
service.getCurrentUser = function () {
- return currentUser;
+ return $localStorage.currentUser;
};
return service;
diff --git a/src/app/components/navbar/navbar.html b/src/app/components/navbar/navbar.html
index 2886004..7302790 100644
--- a/src/app/components/navbar/navbar.html
+++ b/src/app/components/navbar/navbar.html
@@ -1,27 +1,25 @@