angular.module('avalancheServices.Oauth', []) .service('OAuthService', [ '$rootScope', '$http', '$location', '$localstorage', function($rootScope, $http, $location, $localstorage) { var code = {}; //var token = ""; //var token = $cookies.get('avalanche_docs_token'); var token = $localstorage.get('token'); var user = {}; var missions = []; this.authorizeApplication = function(code){ $http({ method: 'POST', url: 'http://localhost:5000/oauth/token?client_id=d514f58c234d69ce1405f00dbef842bd785c09201b35a746d87306f5e69fd02b&client_secret=de63eb190485179d713df3e15339eb618e78e94ab96185621112dd0e5215997c&grant_type=authorization_code&redirect_uri=http://localhost:9000/&code=' + code }).then(function(data) { token = data.data.access_token; //$cookies.put('avalanche_docs_token', token); console.log("Application Authorization Flow SUCCESSFULL") console.log(data.data); $rootScope.$broadcast('auth:success'); }, function(data) { console.log("Application Authorization Flow FAILED") console.log(data); $rootScope.$broadcast('auth:failed'); }); } this.authorizeUser = function(username, password){ $http({ method: 'POST', url: 'http://localhost:5000/oauth/token', params: { "grant_type" : "password", "username" : username, "password" : password } }).then(function(data) { token = data.data.access_token; user = data.data.user; missions = data.data.missions; //$cookies.put('avalanche_docs_token', token); $localstorage.set('token', token); $localstorage.setObject('user', data.data.user); $localstorage.setObject('missions', data.data.missions); console.log("Resource Owner Password Credentials flow SUCCESSFULL") console.log(data.data); $rootScope.$broadcast('auth:success'); }, function(data) { console.log("Resource Owner Password Credentials flow FAILED") console.log(data); $rootScope.$broadcast('auth:failed'); }); } this.getToken = function() { return token; } this.getUser = function() { return user; } this.getMissions = function() { return missions; } this.getMission = function(slug) { for (var i = 0; i < missions.length; i++) { if(missions[i].slug == slug) { return missions[i]; } } return false; } }])