mirror of
https://github.com/fergalmoran/dss.web.git
synced 2026-02-15 04:25:41 +00:00
Maybe not
This commit is contained in:
@@ -38,7 +38,8 @@
|
||||
"smalot-bootstrap-datetimepicker": "~2.3.4",
|
||||
"js-data-angular": "~3.1.0",
|
||||
"ui-select": "angular-ui-select#~0.13.2",
|
||||
"ngInfiniteScroll": "~1.2.1"
|
||||
"ngInfiniteScroll": "~1.2.1",
|
||||
"satellizer": "~0.13.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"angular-mocks": ">=1.2.*",
|
||||
|
||||
@@ -19,9 +19,10 @@ angular.module('dssWebApp', [
|
||||
'angular-jwt',
|
||||
'http-auth-interceptor',
|
||||
'angular-smilies',
|
||||
'satellizer',
|
||||
'angulartics.google.analytics'
|
||||
])
|
||||
.config(function ($stateProvider, $sceDelegateProvider, $httpProvider, $urlRouterProvider, $locationProvider, $provide,
|
||||
.config(function ($stateProvider, $sceDelegateProvider, $httpProvider, $urlRouterProvider, $locationProvider, $provide, $authProvider,
|
||||
ngClipProvider, jwtInterceptorProvider, $analyticsProvider, dialogsProvider, DSProvider, DSHttpAdapterProvider,
|
||||
SERVER_CONFIG, STORAGE) {
|
||||
$urlRouterProvider
|
||||
@@ -30,7 +31,27 @@ angular.module('dssWebApp', [
|
||||
//$httpProvider.defaults.headers.common.Accept = 'application/json';
|
||||
$httpProvider.defaults.useXDomain = true;
|
||||
$httpProvider.interceptors.push('AuthInterceptor');
|
||||
$authProvider.baseUrl = SERVER_CONFIG.apiUrl + '/';
|
||||
$authProvider.loginUrl = '_login';
|
||||
$authProvider.authToken = 'JWT';
|
||||
|
||||
$authProvider.facebook({
|
||||
name: 'facebook',
|
||||
url: '/_login/?backend=facebook',
|
||||
clientId: '154504534677009',
|
||||
authorizationEndpoint: 'https://www.facebook.com/v2.5/dialog/oauth',
|
||||
redirectUri: window.location.origin + '/',
|
||||
requiredUrlParams: ['display', 'scope'],
|
||||
scope: ['email'],
|
||||
scopeDelimiter: ',',
|
||||
display: 'popup',
|
||||
type: '2.0',
|
||||
popupOptions: {width: 580, height: 400}
|
||||
});
|
||||
$authProvider.twitter({
|
||||
//qmvJ6tptgd8G9T9WYp6P3Q
|
||||
url: '/_login?backend=twitter',
|
||||
});
|
||||
ngClipProvider.setPath("bower_components/zeroclipboard/dist/ZeroClipboard.swf");
|
||||
|
||||
$analyticsProvider.firstPageview(true);
|
||||
@@ -54,6 +75,11 @@ angular.module('dssWebApp', [
|
||||
'https://dsscdn.blob.core.windows.net/mixes/**'
|
||||
]);
|
||||
$locationProvider.html5Mode(true);
|
||||
|
||||
$authProvider.google({
|
||||
clientId: '248170132962-5km115budk9h84raa26hdmnnqdj8ivkl.apps.googleusercontent.com'
|
||||
});
|
||||
|
||||
}).run(function ($http, $rootScope, $state, $window, LoginService, Session, SocketService) {
|
||||
$rootScope.isPlaying = false;
|
||||
|
||||
@@ -78,14 +104,6 @@ angular.module('dssWebApp', [
|
||||
});
|
||||
};
|
||||
|
||||
hello.init({
|
||||
facebook: '154504534677009',
|
||||
twitter: 'qmvJ6tptgd8G9T9WYp6P3Q',
|
||||
google: '248170132962-5km115budk9h84raa26hdmnnqdj8ivkl.apps.googleusercontent.com'
|
||||
}, {
|
||||
redirect_uri: '/'
|
||||
});
|
||||
|
||||
//ensure login before state change
|
||||
$rootScope.$on('$stateChangeStart', function (event, toState, toParams) {
|
||||
if (!$rootScope.currentUser && Session.getLocalToken() != null && Session.getBackend()) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
angular.module('dssWebApp')
|
||||
.factory('LoginService', function ($rootScope, $http, $q, Session, UserModel, logger,
|
||||
.factory('LoginService', function ($rootScope, $http, $q, $auth, Session, UserModel, logger,
|
||||
SERVER_CONFIG, STORAGE, AUTH_BACKENDS, AUTH_EVENTS) {
|
||||
|
||||
return {
|
||||
@@ -10,32 +10,38 @@ angular.module('dssWebApp')
|
||||
};
|
||||
|
||||
function loginUser(provider) {
|
||||
var defer = $q.defer();
|
||||
var backend = provider || Session.getBackend();
|
||||
hello(backend).login({force: false}).then(function (result) {
|
||||
var response = hello.getAuthResponse(backend);
|
||||
Session.setLocalToken(response.access_token);
|
||||
getJwtToken(response.access_token, AUTH_BACKENDS[backend])
|
||||
.then(function (user) {
|
||||
defer.resolve(user);
|
||||
}).error(function (reason, code) {
|
||||
defer.reject(reason, code);
|
||||
});
|
||||
}, function (e) {
|
||||
console.error(e);
|
||||
defer.reject(e);
|
||||
});
|
||||
return defer.promise;
|
||||
var deferred = $q.defer();
|
||||
|
||||
var prov = provider || Session.getBackend();
|
||||
$auth.authenticate(prov)
|
||||
.then(function () {
|
||||
console.log('You have successfully signed in with ' + prov + '!');
|
||||
deferred.resolve();
|
||||
})
|
||||
.catch(function (error) {
|
||||
if (error.error) {
|
||||
// Popup error - invalid redirect_uri, pressed cancel button, etc.
|
||||
console.error(error.error);
|
||||
deferred.reject(error.error);
|
||||
} else if (error.data) {
|
||||
// HTTP response error from server
|
||||
console.error(error.data.message, error.status);
|
||||
deferred.reject(error.status);
|
||||
} else {
|
||||
console.error(error);
|
||||
deferred.reject(error);
|
||||
}
|
||||
});
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function getJwtToken(helloToken, backend) {
|
||||
function getJwtToken(token, backend) {
|
||||
var defer = $q.defer();
|
||||
//need to clear any cached tokens before attempting login
|
||||
//otherwise server will 403 us
|
||||
Session.removeJwtToken();
|
||||
$http.post(SERVER_CONFIG.apiUrl + '/_login/', {
|
||||
"access_token": helloToken,
|
||||
"backend": backend
|
||||
$http.post(SERVER_CONFIG.apiUrl + '/_login?backend?backend=' + backend , {
|
||||
'code': token
|
||||
}).success(function (response, status, headers, config) {
|
||||
if (response.token) {
|
||||
Session.setToken(response.token);
|
||||
@@ -43,10 +49,10 @@ angular.module('dssWebApp')
|
||||
Session.setBackend(backend);
|
||||
defer.resolve(backend);
|
||||
} else {
|
||||
defer.reject("Invalid response token", 500);
|
||||
defer.reject('Invalid response token', 500);
|
||||
}
|
||||
}).error(function (response, status, headers, config) {
|
||||
defer.reject("Unable to retrieve access token", 500);
|
||||
defer.reject('Unable to retrieve access token', 500);
|
||||
});
|
||||
return defer.promise;
|
||||
}
|
||||
@@ -61,11 +67,11 @@ angular.module('dssWebApp')
|
||||
$rootScope.$broadcast(AUTH_EVENTS.loginSuccess, user);
|
||||
defer.resolve(user);
|
||||
}, function (result) {
|
||||
defer.reject("Unable to get user object", 500);
|
||||
defer.reject('Unable to get user object', 500);
|
||||
})
|
||||
}).error(function (data, status, headers, config) {
|
||||
defer.reject("Unable to get user proxy", 500);
|
||||
});
|
||||
defer.reject('Unable to get user proxy', 500);
|
||||
});
|
||||
return defer.promise;
|
||||
}
|
||||
|
||||
|
||||
@@ -123,6 +123,7 @@
|
||||
<script src="bower_components/js-data-angular/dist/js-data-angular.js"></script>
|
||||
<script src="bower_components/ui-select/dist/select.js"></script>
|
||||
<script src="bower_components/ngInfiniteScroll/build/ng-infinite-scroll.js"></script>
|
||||
<script src="bower_components/satellizer/satellizer.js"></script>
|
||||
<!-- endbower -->
|
||||
<script src="socket.io-client/socket.io.js"></script>
|
||||
<!-- endbuild -->
|
||||
|
||||
Reference in New Issue
Block a user