@imposium-hub/components 2.9.0-2 → 2.9.0-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/app-wrapper/AppWrapper.js +8 -1
- package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/cjs/components/edit-guide-modal/EditGuideModal.d.ts +8 -0
- package/dist/cjs/components/edit-guide-modal/EditGuideModal.js +122 -0
- package/dist/cjs/components/edit-guide-modal/EditGuideModal.js.map +1 -0
- package/dist/cjs/components/header/Header.js +9 -7
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/number-field/NumberField.d.ts +1 -0
- package/dist/cjs/components/number-field/NumberField.js +3 -0
- package/dist/cjs/components/number-field/NumberField.js.map +1 -1
- package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js +52 -23
- package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
- package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.d.ts +1 -0
- package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js +11 -1
- package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js.map +1 -1
- package/dist/cjs/components/story-previewer/StoryPreviewer.js +17 -3
- package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
- package/dist/cjs/components/tabs/Tabs.js +2 -1
- package/dist/cjs/components/tabs/Tabs.js.map +1 -1
- package/dist/cjs/constants/copy.d.ts +1 -1
- package/dist/cjs/constants/copy.js +1 -1
- package/dist/cjs/constants/copy.js.map +1 -1
- package/dist/cjs/constants/publish.d.ts +3 -0
- package/dist/cjs/constants/publish.js +5 -3
- package/dist/cjs/constants/publish.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/API.d.ts +3 -8
- package/dist/cjs/services/API.js +29 -101
- package/dist/cjs/services/API.js.map +1 -1
- package/dist/esm/components/app-wrapper/AppWrapper.js +8 -1
- package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/esm/components/edit-guide-modal/EditGuideModal.d.ts +8 -0
- package/dist/esm/components/edit-guide-modal/EditGuideModal.js +65 -0
- package/dist/esm/components/edit-guide-modal/EditGuideModal.js.map +1 -0
- package/dist/esm/components/header/Header.js +7 -5
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/number-field/NumberField.d.ts +1 -0
- package/dist/esm/components/number-field/NumberField.js +3 -0
- package/dist/esm/components/number-field/NumberField.js.map +1 -1
- package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js +43 -14
- package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
- package/dist/esm/components/replace-files-modal/ReplaceFilesModal.d.ts +1 -0
- package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js +11 -1
- package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js.map +1 -1
- package/dist/esm/components/story-previewer/StoryPreviewer.js +13 -4
- package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
- package/dist/esm/components/tabs/Tabs.js +2 -1
- package/dist/esm/components/tabs/Tabs.js.map +1 -1
- package/dist/esm/constants/copy.d.ts +1 -1
- package/dist/esm/constants/copy.js +1 -1
- package/dist/esm/constants/copy.js.map +1 -1
- package/dist/esm/constants/publish.d.ts +3 -0
- package/dist/esm/constants/publish.js +4 -2
- package/dist/esm/constants/publish.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/services/API.d.ts +3 -8
- package/dist/esm/services/API.js +9 -46
- package/dist/esm/services/API.js.map +1 -1
- package/package.json +5 -5
- package/src/components/app-wrapper/AppWrapper.tsx +8 -0
- package/src/components/edit-guide-modal/EditGuideModal.tsx +110 -0
- package/src/components/header/Header.tsx +7 -5
- package/src/components/number-field/NumberField.tsx +4 -0
- package/src/components/publish-wizard/publish/EmailWorkflow.tsx +66 -24
- package/src/components/story-previewer/StoryPreviewer.tsx +24 -8
- package/src/components/tabs/Tabs.tsx +2 -1
- package/src/constants/copy.ts +1 -1
- package/src/constants/publish.ts +7 -2
- package/src/index.ts +3 -0
- package/src/services/API.ts +13 -76
- package/dist/cjs/components/auth-gate/AuthGate.d.ts +0 -2
- package/dist/cjs/components/auth-gate/AuthGate.js +0 -105
- package/dist/cjs/components/auth-gate/AuthGate.js.map +0 -1
- package/dist/cjs/redux/actions/auth.d.ts +0 -9
- package/dist/cjs/redux/actions/auth.js +0 -30
- package/dist/cjs/redux/actions/auth.js.map +0 -1
- package/dist/cjs/redux/reducers/auth.d.ts +0 -3
- package/dist/cjs/redux/reducers/auth.js +0 -67
- package/dist/cjs/redux/reducers/auth.js.map +0 -1
- package/dist/cjs/services/Auth0.d.ts +0 -18
- package/dist/cjs/services/Auth0.js +0 -102
- package/dist/cjs/services/Auth0.js.map +0 -1
- package/dist/cjs/services/Session.d.ts +0 -26
- package/dist/cjs/services/Session.js +0 -155
- package/dist/cjs/services/Session.js.map +0 -1
- package/dist/esm/components/auth-gate/AuthGate.d.ts +0 -2
- package/dist/esm/components/auth-gate/AuthGate.js +0 -59
- package/dist/esm/components/auth-gate/AuthGate.js.map +0 -1
- package/dist/esm/redux/actions/auth.d.ts +0 -9
- package/dist/esm/redux/actions/auth.js +0 -25
- package/dist/esm/redux/actions/auth.js.map +0 -1
- package/dist/esm/redux/reducers/auth.d.ts +0 -3
- package/dist/esm/redux/reducers/auth.js +0 -27
- package/dist/esm/redux/reducers/auth.js.map +0 -1
- package/dist/esm/services/Auth0.d.ts +0 -18
- package/dist/esm/services/Auth0.js +0 -68
- package/dist/esm/services/Auth0.js.map +0 -1
- package/dist/esm/services/Session.d.ts +0 -26
- package/dist/esm/services/Session.js +0 -107
- package/dist/esm/services/Session.js.map +0 -1
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
var auth_1 = __importStar(require("../actions/auth"));
|
|
41
|
-
var Auth0_1 = __importDefault(require("../../services/Auth0"));
|
|
42
|
-
var initialState = null;
|
|
43
|
-
try {
|
|
44
|
-
var cachedAuth = JSON.parse(localStorage.getItem(auth_1.AUTH_CACHE_KEY));
|
|
45
|
-
if (cachedAuth) {
|
|
46
|
-
var exp = cachedAuth.idTokenPayload.exp;
|
|
47
|
-
if (Auth0_1.default.checkExpiry(exp)) {
|
|
48
|
-
initialState = cachedAuth;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
catch (e) {
|
|
53
|
-
console.warn('Cached credentials were malformed or missing, redirected to login.');
|
|
54
|
-
}
|
|
55
|
-
var auth = function (state, action) {
|
|
56
|
-
if (state === void 0) { state = initialState; }
|
|
57
|
-
switch (action.type) {
|
|
58
|
-
case auth_1.default.LOGIN:
|
|
59
|
-
return __assign({}, action.auth);
|
|
60
|
-
case auth_1.default.CLEAR:
|
|
61
|
-
return null;
|
|
62
|
-
default:
|
|
63
|
-
return state;
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
exports.default = auth;
|
|
67
|
-
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/redux/reducers/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA0D;AAC1D,+DAA8D;AAE9D,IAAI,YAAY,GAAc,IAAI,CAAC;AAEnC,IAAI,CAAC;IACD,IAAM,UAAU,GAAc,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,qBAAc,CAAC,CAAC,CAAC;IAE/E,IAAI,UAAU,EAAE,CAAC;QAES,IAAA,GAAG,GACrB,UAAU,mBADW,CACV;QAEf,IAAI,eAAW,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,YAAY,GAAG,UAAU,CAAC;QAC9B,CAAC;IACL,CAAC;AACL,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;AACvF,CAAC;AAED,IAAM,IAAI,GAAG,UAAC,KAAoB,EAAE,MAAM;IAA5B,sBAAA,EAAA,oBAAoB;IAC9B,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,cAAO,CAAC,KAAK;YACd,oBAAY,MAAM,CAAC,IAAI,EAAG;QAC9B,KAAK,cAAO,CAAC,KAAK;YACd,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export interface IIdentity {
|
|
2
|
-
accessToken: string;
|
|
3
|
-
expiry: number;
|
|
4
|
-
expiresIn: number;
|
|
5
|
-
idToken: string;
|
|
6
|
-
tokenType: string;
|
|
7
|
-
idTokenPayload: any;
|
|
8
|
-
}
|
|
9
|
-
export default class AuthService {
|
|
10
|
-
private static readonly IMPOSIUM_APP_DEFAULTS;
|
|
11
|
-
private static auth0Client;
|
|
12
|
-
static bindToClient: (clientID: string, domain: string) => void;
|
|
13
|
-
static login: () => void;
|
|
14
|
-
static logout: () => void;
|
|
15
|
-
static checkExpiry: (expiry: number) => boolean;
|
|
16
|
-
static parseIdFromHash: (hash: string) => Promise<IIdentity>;
|
|
17
|
-
static checkSession: () => Promise<IIdentity | Error>;
|
|
18
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
var auth0 = __importStar(require("auth0-js"));
|
|
38
|
-
var AuthService = /** @class */ (function () {
|
|
39
|
-
function AuthService() {
|
|
40
|
-
}
|
|
41
|
-
AuthService.IMPOSIUM_APP_DEFAULTS = {
|
|
42
|
-
scope: 'openid',
|
|
43
|
-
audience: 'https://api.4cinsights.io/',
|
|
44
|
-
responseType: 'token id_token',
|
|
45
|
-
redirectUri: "".concat(window.location.origin, "/auth")
|
|
46
|
-
};
|
|
47
|
-
/*
|
|
48
|
-
Initialize the auth0 web client with client ID for a given app-wrapper
|
|
49
|
-
*/
|
|
50
|
-
AuthService.bindToClient = function (clientID, domain) {
|
|
51
|
-
AuthService.auth0Client = new auth0.WebAuth(__assign({ clientID: clientID, domain: domain }, AuthService.IMPOSIUM_APP_DEFAULTS));
|
|
52
|
-
};
|
|
53
|
-
/*
|
|
54
|
-
redirect to auth0 for login
|
|
55
|
-
*/
|
|
56
|
-
AuthService.login = function () {
|
|
57
|
-
AuthService.auth0Client.authorize();
|
|
58
|
-
};
|
|
59
|
-
/*
|
|
60
|
-
Re-direct to auth0 to cancel session & instruct auth0 to redirect back to login
|
|
61
|
-
*/
|
|
62
|
-
AuthService.logout = function () {
|
|
63
|
-
AuthService.auth0Client.logout({ returnTo: "".concat(window.location.origin, "/auth") });
|
|
64
|
-
};
|
|
65
|
-
/*
|
|
66
|
-
Validate auth0 expiry timestamp
|
|
67
|
-
*/
|
|
68
|
-
AuthService.checkExpiry = function (expiry) { return expiry > Date.now().valueOf() / 1000; };
|
|
69
|
-
/*
|
|
70
|
-
Parse out identity from hash
|
|
71
|
-
*/
|
|
72
|
-
AuthService.parseIdFromHash = function (hash) {
|
|
73
|
-
return new Promise(function (resolve, reject) {
|
|
74
|
-
AuthService.auth0Client.parseHash({ options: hash }, function (e, id) {
|
|
75
|
-
if (!e) {
|
|
76
|
-
resolve(id);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
reject(e);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
/*
|
|
85
|
-
Defer to auth0 web servers to check if users session is valid
|
|
86
|
-
*/
|
|
87
|
-
AuthService.checkSession = function () {
|
|
88
|
-
return new Promise(function (resolve, reject) {
|
|
89
|
-
AuthService.auth0Client.checkSession({}, function (e, id) {
|
|
90
|
-
if (!e) {
|
|
91
|
-
resolve(id);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
reject(e);
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
return AuthService;
|
|
100
|
-
}());
|
|
101
|
-
exports.default = AuthService;
|
|
102
|
-
//# sourceMappingURL=Auth0.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Auth0.js","sourceRoot":"","sources":["../../../src/services/Auth0.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAkC;AAWlC;IAAA;IAsEA,CAAC;IArE2B,iCAAqB,GAAQ;QACjD,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,4BAA4B;QACtC,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,UAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAO;KAChD,CAAC;IAKF;;OAEG;IACW,wBAAY,GAAG,UAAC,QAAgB,EAAE,MAAc;QAC1D,WAAW,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,YACvC,QAAQ,UAAA,EACR,MAAM,QAAA,IACH,WAAW,CAAC,qBAAqB,EACtC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACW,iBAAK,GAAG;QAClB,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC,CAAC;IAEF;;OAEG;IACW,kBAAM,GAAG;QACnB,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAO,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC;IAEF;;OAEG;IACW,uBAAW,GAAG,UAAC,MAAc,IAAc,OAAA,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAApC,CAAoC,CAAC;IAE9F;;OAEG;IACW,2BAAe,GAAG,UAAC,IAAY;QACzC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,UAAC,CAAQ,EAAE,EAAa;gBACzE,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACW,wBAAY,GAAG;QACzB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,UAAC,CAAQ,EAAE,EAAa;gBAC7D,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IACN,kBAAC;CAAA,AAtED,IAsEC;kBAtEoB,WAAW"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { IIdentity } from './Auth0';
|
|
2
|
-
export interface IHubSession {
|
|
3
|
-
sub: string;
|
|
4
|
-
organization_id: string;
|
|
5
|
-
story_id: string;
|
|
6
|
-
}
|
|
7
|
-
export default class SessionService {
|
|
8
|
-
private static readonly LOGIN_STORY_ID_CACHE;
|
|
9
|
-
private static readonly LOGIN_ORG_ID_CACHE;
|
|
10
|
-
private static readonly SESSION_COOKIE_NAME;
|
|
11
|
-
private static readonly FRESH_COOKIE;
|
|
12
|
-
static getAccessData: (idToken: string, baseUrl?: string, getTotalRenders?: boolean, accountId?: string) => Promise<any[]>;
|
|
13
|
-
static getSession: () => IHubSession;
|
|
14
|
-
static removeSession: () => void;
|
|
15
|
-
static buildFreshSession: (freshIdentity: IIdentity, orgId?: string, storyId?: string) => void;
|
|
16
|
-
static storeSession: (values: any, auth0Expiry: number) => void;
|
|
17
|
-
static cacheOrgId: (organizationId: string) => void;
|
|
18
|
-
static clearCachedOrgId: () => void;
|
|
19
|
-
static getCachedOrgId: () => string;
|
|
20
|
-
static cacheStoryId: (storyId: string) => void;
|
|
21
|
-
static clearCachedStoryId: () => void;
|
|
22
|
-
static getCachedStoryId: () => string;
|
|
23
|
-
static updateSession: (values: any, auth0Expiry: number) => void;
|
|
24
|
-
private static scrapeDomain;
|
|
25
|
-
private static determineAccessUrl;
|
|
26
|
-
}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
var Cookies = __importStar(require("js-cookie"));
|
|
41
|
-
var axios_1 = __importDefault(require("axios"));
|
|
42
|
-
var SessionService = /** @class */ (function () {
|
|
43
|
-
function SessionService() {
|
|
44
|
-
}
|
|
45
|
-
SessionService.LOGIN_STORY_ID_CACHE = 'imp_hub_last_story_id';
|
|
46
|
-
SessionService.LOGIN_ORG_ID_CACHE = 'imp_hub_last_org_id';
|
|
47
|
-
SessionService.SESSION_COOKIE_NAME = 'auth_state';
|
|
48
|
-
SessionService.FRESH_COOKIE = {
|
|
49
|
-
sub: '',
|
|
50
|
-
organization_id: '',
|
|
51
|
-
story_id: ''
|
|
52
|
-
};
|
|
53
|
-
/*
|
|
54
|
-
Get list of accessible services with themes from Imposium API
|
|
55
|
-
*/
|
|
56
|
-
SessionService.getAccessData = function (idToken, baseUrl, getTotalRenders, accountId) {
|
|
57
|
-
if (getTotalRenders === void 0) { getTotalRenders = false; }
|
|
58
|
-
return new Promise(function (resolve, reject) {
|
|
59
|
-
var accessUrl = baseUrl ? "".concat(baseUrl, "/access") : SessionService.determineAccessUrl();
|
|
60
|
-
var headers = { Authorization: "Bearer ".concat(idToken) };
|
|
61
|
-
if (getTotalRenders) {
|
|
62
|
-
accessUrl += '?include_total_renders=true';
|
|
63
|
-
}
|
|
64
|
-
if (accountId && accountId !== 'undefined') {
|
|
65
|
-
headers['X-Imposium-Account-Id'] = accountId;
|
|
66
|
-
}
|
|
67
|
-
axios_1.default
|
|
68
|
-
.get(accessUrl, { headers: headers })
|
|
69
|
-
.then(function (res) {
|
|
70
|
-
resolve(res.data ? res.data : []);
|
|
71
|
-
})
|
|
72
|
-
.catch(function (e) {
|
|
73
|
-
reject(e);
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
SessionService.getSession = function () {
|
|
78
|
-
return Cookies.getJSON(SessionService.SESSION_COOKIE_NAME);
|
|
79
|
-
};
|
|
80
|
-
SessionService.removeSession = function () {
|
|
81
|
-
var domain = SessionService.scrapeDomain();
|
|
82
|
-
Cookies.remove(SessionService.SESSION_COOKIE_NAME, { domain: domain });
|
|
83
|
-
SessionService.clearCachedOrgId();
|
|
84
|
-
SessionService.clearCachedStoryId();
|
|
85
|
-
};
|
|
86
|
-
SessionService.buildFreshSession = function (freshIdentity, orgId, storyId) {
|
|
87
|
-
if (orgId === void 0) { orgId = null; }
|
|
88
|
-
if (storyId === void 0) { storyId = null; }
|
|
89
|
-
var _a = freshIdentity.idTokenPayload, sub = _a.sub, exp = _a.exp;
|
|
90
|
-
var freshSession = {
|
|
91
|
-
sub: sub
|
|
92
|
-
};
|
|
93
|
-
if (orgId) {
|
|
94
|
-
freshSession.organization_id = orgId;
|
|
95
|
-
}
|
|
96
|
-
if (storyId) {
|
|
97
|
-
freshSession.story_id = storyId;
|
|
98
|
-
}
|
|
99
|
-
SessionService.storeSession(freshSession, exp);
|
|
100
|
-
};
|
|
101
|
-
SessionService.storeSession = function (values, auth0Expiry) {
|
|
102
|
-
var cookieData = __assign(__assign({}, SessionService.FRESH_COOKIE), values);
|
|
103
|
-
var domain = SessionService.scrapeDomain();
|
|
104
|
-
var expiry = new Date(auth0Expiry * 1000);
|
|
105
|
-
Cookies.set(SessionService.SESSION_COOKIE_NAME, cookieData, { domain: domain, expires: expiry });
|
|
106
|
-
};
|
|
107
|
-
SessionService.cacheOrgId = function (organizationId) {
|
|
108
|
-
localStorage.setItem(SessionService.LOGIN_ORG_ID_CACHE, organizationId);
|
|
109
|
-
};
|
|
110
|
-
SessionService.clearCachedOrgId = function () {
|
|
111
|
-
localStorage.removeItem(SessionService.LOGIN_ORG_ID_CACHE);
|
|
112
|
-
};
|
|
113
|
-
SessionService.getCachedOrgId = function () {
|
|
114
|
-
return localStorage.getItem(SessionService.LOGIN_ORG_ID_CACHE);
|
|
115
|
-
};
|
|
116
|
-
SessionService.cacheStoryId = function (storyId) {
|
|
117
|
-
localStorage.setItem(SessionService.LOGIN_STORY_ID_CACHE, storyId);
|
|
118
|
-
};
|
|
119
|
-
SessionService.clearCachedStoryId = function () {
|
|
120
|
-
localStorage.removeItem(SessionService.LOGIN_STORY_ID_CACHE);
|
|
121
|
-
};
|
|
122
|
-
SessionService.getCachedStoryId = function () {
|
|
123
|
-
return localStorage.getItem(SessionService.LOGIN_STORY_ID_CACHE);
|
|
124
|
-
};
|
|
125
|
-
SessionService.updateSession = function (values, auth0Expiry) {
|
|
126
|
-
var prevCookieData = SessionService.getSession();
|
|
127
|
-
var nextCookieData = __assign(__assign({}, prevCookieData), values);
|
|
128
|
-
SessionService.storeSession(nextCookieData, auth0Expiry);
|
|
129
|
-
};
|
|
130
|
-
/*
|
|
131
|
-
Determine which domain to assign cookie to
|
|
132
|
-
*/
|
|
133
|
-
SessionService.scrapeDomain = function () {
|
|
134
|
-
var domainParts = window.location.host.split('.').reverse();
|
|
135
|
-
return domainParts.length > 2 ? ".".concat(domainParts[1], ".").concat(domainParts[0].split(':')[0]) : null;
|
|
136
|
-
};
|
|
137
|
-
/*
|
|
138
|
-
Figure out which access endpoint to hit based on env
|
|
139
|
-
*/
|
|
140
|
-
SessionService.determineAccessUrl = function () {
|
|
141
|
-
var _a = window.location, hostname = _a.hostname, host = _a.host;
|
|
142
|
-
if (hostname === 'localhost') {
|
|
143
|
-
return 'https://api/access';
|
|
144
|
-
}
|
|
145
|
-
else if (host.includes('.staging.')) {
|
|
146
|
-
return 'https://api.staging.imposium.com/access';
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
return 'https://api.imposium.com/access';
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
return SessionService;
|
|
153
|
-
}());
|
|
154
|
-
exports.default = SessionService;
|
|
155
|
-
//# sourceMappingURL=Session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Session.js","sourceRoot":"","sources":["../../../src/services/Session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import ScaleLoader from 'react-spinners/ScaleLoader';
|
|
3
|
-
import SessionService from '../../services/Session';
|
|
4
|
-
import AuthService from '../../services/Auth0';
|
|
5
|
-
import { connect } from 'react-redux';
|
|
6
|
-
import { bindActionCreators } from 'redux';
|
|
7
|
-
import { login } from '../../redux/actions/auth';
|
|
8
|
-
import { setAccessData } from '../../redux/actions/access';
|
|
9
|
-
class AuthGate extends React.PureComponent {
|
|
10
|
-
static LOADER_COLOR = '#2d8ceb';
|
|
11
|
-
constructor(p) {
|
|
12
|
-
super(p);
|
|
13
|
-
}
|
|
14
|
-
componentDidMount = () => {
|
|
15
|
-
const { auth0ClientId, auth0Hash, auth0Domain, onAuthenticated, baseUrl } = this.props;
|
|
16
|
-
AuthService.bindToClient(auth0ClientId, auth0Domain);
|
|
17
|
-
if (!auth0Hash) {
|
|
18
|
-
console.info('No hash found, redirecting to login');
|
|
19
|
-
AuthService.login();
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
AuthService.parseIdFromHash(auth0Hash)
|
|
23
|
-
.then((freshIdentity) => {
|
|
24
|
-
// Use the cached org ID and story ID if it exists
|
|
25
|
-
const orgId = SessionService.getCachedOrgId() || null;
|
|
26
|
-
const storyId = SessionService.getCachedStoryId() || null;
|
|
27
|
-
SessionService.getAccessData(freshIdentity.accessToken, baseUrl, false, orgId)
|
|
28
|
-
.then((freshAccess) => {
|
|
29
|
-
this.props.login(freshIdentity);
|
|
30
|
-
this.props.setAccessData(freshAccess);
|
|
31
|
-
SessionService.buildFreshSession(freshIdentity, orgId, storyId);
|
|
32
|
-
onAuthenticated(storyId, orgId);
|
|
33
|
-
})
|
|
34
|
-
.catch((e) => {
|
|
35
|
-
console.error('Error getting access data, redirecting to root');
|
|
36
|
-
console.error(e);
|
|
37
|
-
onAuthenticated(null, null);
|
|
38
|
-
});
|
|
39
|
-
})
|
|
40
|
-
.catch((e) => {
|
|
41
|
-
console.error('Error parsing ID from hash, redirecting to login');
|
|
42
|
-
console.error(e);
|
|
43
|
-
AuthService.login();
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
render = () => {
|
|
48
|
-
return (React.createElement("div", { className: 'auth-gate' },
|
|
49
|
-
React.createElement(ScaleLoader, { color: AuthGate.LOADER_COLOR })));
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
const mapDispatchToProps = (dispatch) => {
|
|
53
|
-
return bindActionCreators({
|
|
54
|
-
login,
|
|
55
|
-
setAccessData
|
|
56
|
-
}, dispatch);
|
|
57
|
-
};
|
|
58
|
-
export default connect(null, mapDispatchToProps)(AuthGate);
|
|
59
|
-
//# sourceMappingURL=AuthGate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthGate.js","sourceRoot":"","sources":["../../../../src/components/auth-gate/AuthGate.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IIdentity } from '../../services/Auth0';
|
|
2
|
-
export declare const AUTH_CACHE_KEY: string;
|
|
3
|
-
export declare const login: (auth: IIdentity) => any;
|
|
4
|
-
export declare const clearCachedAuth: () => any;
|
|
5
|
-
declare const actions: {
|
|
6
|
-
LOGIN: string;
|
|
7
|
-
CLEAR: string;
|
|
8
|
-
};
|
|
9
|
-
export default actions;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export const AUTH_CACHE_KEY = 'imposium_hub_creds';
|
|
2
|
-
export const login = (auth) => {
|
|
3
|
-
try {
|
|
4
|
-
localStorage.setItem(AUTH_CACHE_KEY, JSON.stringify(auth));
|
|
5
|
-
}
|
|
6
|
-
catch (e) {
|
|
7
|
-
console.warn('Failed to cache auth creds...');
|
|
8
|
-
}
|
|
9
|
-
return { type: actions.LOGIN, auth };
|
|
10
|
-
};
|
|
11
|
-
export const clearCachedAuth = () => {
|
|
12
|
-
try {
|
|
13
|
-
localStorage.removeItem(AUTH_CACHE_KEY);
|
|
14
|
-
}
|
|
15
|
-
catch (e) {
|
|
16
|
-
console.warn('Failed to remove cached creds');
|
|
17
|
-
}
|
|
18
|
-
return { type: actions.CLEAR };
|
|
19
|
-
};
|
|
20
|
-
const actions = {
|
|
21
|
-
LOGIN: 'auth/LOGIN',
|
|
22
|
-
CLEAR: 'auth/CLEAR'
|
|
23
|
-
};
|
|
24
|
-
export default actions;
|
|
25
|
-
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/redux/actions/auth.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAW,oBAAoB,CAAC;AAE3D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAe,EAAO,EAAE;IAC1C,IAAI,CAAC;QACD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAQ,EAAE;IACrC,IAAI,CAAC;QACD,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG;IACZ,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,YAAY;CACtB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import actions, { AUTH_CACHE_KEY } from '../actions/auth';
|
|
2
|
-
import AuthService from '../../services/Auth0';
|
|
3
|
-
let initialState = null;
|
|
4
|
-
try {
|
|
5
|
-
const cachedAuth = JSON.parse(localStorage.getItem(AUTH_CACHE_KEY));
|
|
6
|
-
if (cachedAuth) {
|
|
7
|
-
const { idTokenPayload: { exp } } = cachedAuth;
|
|
8
|
-
if (AuthService.checkExpiry(exp)) {
|
|
9
|
-
initialState = cachedAuth;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
catch (e) {
|
|
14
|
-
console.warn('Cached credentials were malformed or missing, redirected to login.');
|
|
15
|
-
}
|
|
16
|
-
const auth = (state = initialState, action) => {
|
|
17
|
-
switch (action.type) {
|
|
18
|
-
case actions.LOGIN:
|
|
19
|
-
return { ...action.auth };
|
|
20
|
-
case actions.CLEAR:
|
|
21
|
-
return null;
|
|
22
|
-
default:
|
|
23
|
-
return state;
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
export default auth;
|
|
27
|
-
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/redux/reducers/auth.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,WAA0B,MAAM,sBAAsB,CAAC;AAE9D,IAAI,YAAY,GAAc,IAAI,CAAC;AAEnC,IAAI,CAAC;IACD,MAAM,UAAU,GAAc,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAE/E,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,EACF,cAAc,EAAE,EAAE,GAAG,EAAE,EAC1B,GAAG,UAAU,CAAC;QAEf,IAAI,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,YAAY,GAAG,UAAU,CAAC;QAC9B,CAAC;IACL,CAAC;AACL,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,YAAY,EAAE,MAAM,EAAE,EAAE;IAC1C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC,KAAK;YACd,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,KAAK,OAAO,CAAC,KAAK;YACd,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export interface IIdentity {
|
|
2
|
-
accessToken: string;
|
|
3
|
-
expiry: number;
|
|
4
|
-
expiresIn: number;
|
|
5
|
-
idToken: string;
|
|
6
|
-
tokenType: string;
|
|
7
|
-
idTokenPayload: any;
|
|
8
|
-
}
|
|
9
|
-
export default class AuthService {
|
|
10
|
-
private static readonly IMPOSIUM_APP_DEFAULTS;
|
|
11
|
-
private static auth0Client;
|
|
12
|
-
static bindToClient: (clientID: string, domain: string) => void;
|
|
13
|
-
static login: () => void;
|
|
14
|
-
static logout: () => void;
|
|
15
|
-
static checkExpiry: (expiry: number) => boolean;
|
|
16
|
-
static parseIdFromHash: (hash: string) => Promise<IIdentity>;
|
|
17
|
-
static checkSession: () => Promise<IIdentity | Error>;
|
|
18
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import * as auth0 from 'auth0-js';
|
|
2
|
-
export default class AuthService {
|
|
3
|
-
static IMPOSIUM_APP_DEFAULTS = {
|
|
4
|
-
scope: 'openid',
|
|
5
|
-
audience: 'https://api.4cinsights.io/',
|
|
6
|
-
responseType: 'token id_token',
|
|
7
|
-
redirectUri: `${window.location.origin}/auth`
|
|
8
|
-
};
|
|
9
|
-
// Auth0 JS client
|
|
10
|
-
static auth0Client;
|
|
11
|
-
/*
|
|
12
|
-
Initialize the auth0 web client with client ID for a given app-wrapper
|
|
13
|
-
*/
|
|
14
|
-
static bindToClient = (clientID, domain) => {
|
|
15
|
-
AuthService.auth0Client = new auth0.WebAuth({
|
|
16
|
-
clientID,
|
|
17
|
-
domain,
|
|
18
|
-
...AuthService.IMPOSIUM_APP_DEFAULTS
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
/*
|
|
22
|
-
redirect to auth0 for login
|
|
23
|
-
*/
|
|
24
|
-
static login = () => {
|
|
25
|
-
AuthService.auth0Client.authorize();
|
|
26
|
-
};
|
|
27
|
-
/*
|
|
28
|
-
Re-direct to auth0 to cancel session & instruct auth0 to redirect back to login
|
|
29
|
-
*/
|
|
30
|
-
static logout = () => {
|
|
31
|
-
AuthService.auth0Client.logout({ returnTo: `${window.location.origin}/auth` });
|
|
32
|
-
};
|
|
33
|
-
/*
|
|
34
|
-
Validate auth0 expiry timestamp
|
|
35
|
-
*/
|
|
36
|
-
static checkExpiry = (expiry) => expiry > Date.now().valueOf() / 1000;
|
|
37
|
-
/*
|
|
38
|
-
Parse out identity from hash
|
|
39
|
-
*/
|
|
40
|
-
static parseIdFromHash = (hash) => {
|
|
41
|
-
return new Promise((resolve, reject) => {
|
|
42
|
-
AuthService.auth0Client.parseHash({ options: hash }, (e, id) => {
|
|
43
|
-
if (!e) {
|
|
44
|
-
resolve(id);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
reject(e);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
/*
|
|
53
|
-
Defer to auth0 web servers to check if users session is valid
|
|
54
|
-
*/
|
|
55
|
-
static checkSession = () => {
|
|
56
|
-
return new Promise((resolve, reject) => {
|
|
57
|
-
AuthService.auth0Client.checkSession({}, (e, id) => {
|
|
58
|
-
if (!e) {
|
|
59
|
-
resolve(id);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
reject(e);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=Auth0.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Auth0.js","sourceRoot":"","sources":["../../../src/services/Auth0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAWlC,MAAM,CAAC,OAAO,OAAO,WAAW;IACpB,MAAM,CAAU,qBAAqB,GAAQ;QACjD,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,4BAA4B;QACtC,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO;KAChD,CAAC;IAEF,kBAAkB;IACV,MAAM,CAAC,WAAW,CAAgB;IAE1C;;OAEG;IACI,MAAM,CAAC,YAAY,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAQ,EAAE;QACpE,WAAW,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;YACxC,QAAQ;YACR,MAAM;YACN,GAAG,WAAW,CAAC,qBAAqB;SACvC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,KAAK,GAAG,GAAS,EAAE;QAC7B,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,MAAM,GAAG,GAAS,EAAE;QAC9B,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAE9F;;OAEG;IACI,MAAM,CAAC,eAAe,GAAG,CAAC,IAAY,EAAsB,EAAE;QACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAa,EAAE,EAAE;gBAC7E,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,YAAY,GAAG,GAA+B,EAAE;QAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAa,EAAE,EAAE;gBACjE,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { IIdentity } from './Auth0';
|
|
2
|
-
export interface IHubSession {
|
|
3
|
-
sub: string;
|
|
4
|
-
organization_id: string;
|
|
5
|
-
story_id: string;
|
|
6
|
-
}
|
|
7
|
-
export default class SessionService {
|
|
8
|
-
private static readonly LOGIN_STORY_ID_CACHE;
|
|
9
|
-
private static readonly LOGIN_ORG_ID_CACHE;
|
|
10
|
-
private static readonly SESSION_COOKIE_NAME;
|
|
11
|
-
private static readonly FRESH_COOKIE;
|
|
12
|
-
static getAccessData: (idToken: string, baseUrl?: string, getTotalRenders?: boolean, accountId?: string) => Promise<any[]>;
|
|
13
|
-
static getSession: () => IHubSession;
|
|
14
|
-
static removeSession: () => void;
|
|
15
|
-
static buildFreshSession: (freshIdentity: IIdentity, orgId?: string, storyId?: string) => void;
|
|
16
|
-
static storeSession: (values: any, auth0Expiry: number) => void;
|
|
17
|
-
static cacheOrgId: (organizationId: string) => void;
|
|
18
|
-
static clearCachedOrgId: () => void;
|
|
19
|
-
static getCachedOrgId: () => string;
|
|
20
|
-
static cacheStoryId: (storyId: string) => void;
|
|
21
|
-
static clearCachedStoryId: () => void;
|
|
22
|
-
static getCachedStoryId: () => string;
|
|
23
|
-
static updateSession: (values: any, auth0Expiry: number) => void;
|
|
24
|
-
private static scrapeDomain;
|
|
25
|
-
private static determineAccessUrl;
|
|
26
|
-
}
|