-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathapp.js
76 lines (68 loc) · 2.1 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
angular.module( 'polymerblog', [
'auth0',
'ngRoute',
'polymerblog.home',
'polymerblog.login',
'polymerblog.posts',
'polymerblog.services',
'ngMaterial',
'angular-storage',
'angular-jwt',
'pascalprecht.translate'
])
.config( function myAppConfig ( $routeProvider, authProvider, $httpProvider, $locationProvider,
jwtInterceptorProvider, $translateProvider) {
$translateProvider.useSanitizeValueStrategy(null);
$translateProvider.preferredLanguage('pt-br');
$routeProvider
.when( '/', {
controller: 'HomeCtrl',
templateUrl: 'home/home.html',
pageTitle: 'Homepage',
requiresLogin: true
})
.when( '/posts', {
controller: 'PostsCtrl',
templateUrl: 'posts/posts.html',
pageTitle: 'Posts',
requiresLogin: true
})
.when( '/login', {
controller: 'LoginCtrl',
templateUrl: 'login/login.html',
pageTitle: 'Login'
});
authProvider.init({
domain: AUTH0_DOMAIN,
clientID: AUTH0_CLIENT_ID,
loginUrl: '/login'
});
jwtInterceptorProvider.tokenGetter = function(store) {
return store.get('token');
}
// Add a simple interceptor that will fetch all requests and add the jwt token to its authorization header.
// NOTE: in case you are calling APIs which expect a token signed with a different secret, you might
// want to check the delegation-token example
$httpProvider.interceptors.push('jwtInterceptor');
}).run(function($rootScope, auth, store, jwtHelper, $location) {
$rootScope.$on('$locationChangeStart', function() {
if (!auth.isAuthenticated) {
var token = store.get('token');
if (token) {
if (!jwtHelper.isTokenExpired(token)) {
auth.authenticate(store.get('profile'), token);
} else {
$location.path('/login');
}
}
}
});
})
.controller( 'AppCtrl', function AppCtrl ( $scope, $location ) {
$scope.$on('$routeChangeSuccess', function(e, nextRoute){
if ( nextRoute.$$route && angular.isDefined( nextRoute.$$route.pageTitle ) ) {
$scope.pageTitle = nextRoute.$$route.pageTitle + ' | Auth0 Sample' ;
}
});
})
;