2017-07-08 12:12:20 +02:00
|
|
|
var base64 = require('base64util');
|
2017-07-08 00:51:59 +02:00
|
|
|
|
2017-07-08 12:12:20 +02:00
|
|
|
var loginTmpl = require('./login.tmpl.html');
|
2017-07-08 00:51:59 +02:00
|
|
|
|
2017-07-08 12:12:20 +02:00
|
|
|
module.exports = function($storage, $http, authService, $modal) {
|
|
|
|
var login = function(email, password) {
|
|
|
|
// Encode authentication data.
|
|
|
|
var authdata = base64.encode(email + ':' + password);
|
2017-07-08 00:51:59 +02:00
|
|
|
|
2017-07-08 12:12:20 +02:00
|
|
|
return $http.post('/api/user/login', {}, {
|
|
|
|
ignoreAuthModule: true,
|
|
|
|
headers: {
|
|
|
|
'authorization': 'Basic ' + authdata
|
|
|
|
}
|
|
|
|
}).then(function (result) {
|
|
|
|
$storage.session.set('refresh_token', result.data.refresh_token);
|
|
|
|
$storage.session.set('access_token', result.data.access_token);
|
2017-07-08 00:51:59 +02:00
|
|
|
|
|
|
|
authService.loginConfirmed();
|
2017-07-08 12:12:20 +02:00
|
|
|
}, function(result) {
|
|
|
|
loginModal();
|
2017-07-08 00:51:59 +02:00
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2017-07-08 12:12:20 +02:00
|
|
|
var loginModal = function () {
|
|
|
|
$storage.session.clear();
|
|
|
|
|
|
|
|
$modal({
|
|
|
|
templateUrl: loginTmpl,
|
|
|
|
controller: function($scope, $login) {
|
|
|
|
$scope.$login = function() {
|
|
|
|
$scope.$hide();
|
|
|
|
$login($scope.email, $scope.password);
|
|
|
|
};
|
|
|
|
},
|
|
|
|
locals: {
|
|
|
|
$login: login,
|
|
|
|
}
|
|
|
|
});
|
2017-07-08 00:51:59 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
return {
|
2017-07-08 12:12:20 +02:00
|
|
|
'loginModal': loginModal,
|
2017-07-08 00:51:59 +02:00
|
|
|
};
|
|
|
|
};
|