-
Notifications
You must be signed in to change notification settings - Fork 1
/
app.js
74 lines (68 loc) · 1.77 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
"use strict";
angular
.module("slmfreeman", [
"auth0",
"angular-storage",
"angular-jwt",
"ngMaterial",
"ui.router",
])
.config(function (
jwtOptionsProvider,
$provide,
authProvider,
$urlRouterProvider,
$stateProvider,
$httpProvider,
jwtInterceptorProvider
) {
authProvider.init({
domain: "kanthkk.auth0.com",
clientID: "HLLQxQG2UXf5uomq8JoCNuaow9NsBCVf",
});
jwtOptionsProvider.config({
tokenGetter: function (store) {
return store.get("id_token");
},
whiteListedDomains: ["localhost"],
});
$urlRouterProvider.otherwise("/home");
$stateProvider
.state("home", {
url: "/home",
templateUrl: "components/home/home.tpl.html",
})
.state("profile", {
url: "/profile",
templateUrl: "components/profile/profile.tpl.html",
controller: "profileController as user",
});
function redirect($q, $injector, auth, store, $location) {
return {
responseError: function (rejection) {
if (rejection.status === 401) {
auth.signout();
store.remove("profile");
store.remove("id_token");
$location.path("/home");
}
return $q.reject(rejection);
},
};
}
$httpProvider.interceptors.push("jwtInterceptor");
})
.run(function ($rootScope, auth, store, jwtHelper, $location) {
$rootScope.$on("$locationChangeStart", function () {
var token = store.get("id_token");
if (token) {
if (!jwtHelper.isTokenExpired(token)) {
if (!auth.isAuthenticated) {
auth.authenticate(store.get("profile"), token);
}
}
} else {
$location.path("/home");
}
});
});