@imposium-hub/components 2.9.0-1 → 2.9.0-10
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 +10 -1
- package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter.js +1 -1
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter.js.map +1 -1
- package/dist/cjs/components/assets/AssetsTableNameFilter.js +1 -1
- package/dist/cjs/components/assets/AssetsTableNameFilter.js.map +1 -1
- package/dist/cjs/components/assets/AssetsTableTagsFilter.js +1 -1
- package/dist/cjs/components/assets/AssetsTableTagsFilter.js.map +1 -1
- package/dist/cjs/components/assets/AssetsUploadMenu.js +4 -2
- package/dist/cjs/components/assets/AssetsUploadMenu.js.map +1 -1
- package/dist/cjs/components/confirm-modal/ConfirmModal.js +3 -2
- package/dist/cjs/components/confirm-modal/ConfirmModal.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/edit-marker-modal/EditMarkerModal.d.ts +8 -0
- package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js +104 -0
- package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js.map +1 -0
- package/dist/cjs/components/field-wrapper/FieldWrapper.d.ts +1 -0
- package/dist/cjs/components/field-wrapper/FieldWrapper.js +10 -8
- package/dist/cjs/components/field-wrapper/FieldWrapper.js.map +1 -1
- package/dist/cjs/components/header/Header.js +9 -6
- 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 +5 -2
- 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 +34 -12
- package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js.map +1 -1
- package/dist/cjs/components/slider-field/SliderField.d.ts +2 -0
- package/dist/cjs/components/slider-field/SliderField.js +17 -8
- package/dist/cjs/components/slider-field/SliderField.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/components/text-field/TextField.d.ts +1 -0
- package/dist/cjs/components/text-field/TextField.js +2 -2
- package/dist/cjs/components/text-field/TextField.js.map +1 -1
- package/dist/cjs/constants/copy.d.ts +5 -1
- package/dist/cjs/constants/copy.js +6 -2
- package/dist/cjs/constants/copy.js.map +1 -1
- package/dist/cjs/constants/icons.d.ts +2 -0
- package/dist/cjs/constants/icons.js +3 -1
- package/dist/cjs/constants/icons.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 +4 -3
- package/dist/cjs/index.js +8 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/redux/actions/asset-uploads.d.ts +1 -1
- package/dist/cjs/redux/actions/asset-uploads.js +169 -119
- package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
- package/dist/cjs/redux/actions/publish.js +10 -2
- package/dist/cjs/redux/actions/publish.js.map +1 -1
- package/dist/cjs/redux/reducers/asset-uploads.js +2 -1
- package/dist/cjs/redux/reducers/asset-uploads.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/cjs/utils/modal.d.ts +4 -0
- package/dist/cjs/utils/modal.js +11 -2
- package/dist/cjs/utils/modal.js.map +1 -1
- package/dist/esm/components/app-wrapper/AppWrapper.js +10 -1
- package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/esm/components/assets/AssetsTableAssetIdFilter.js +1 -1
- package/dist/esm/components/assets/AssetsTableAssetIdFilter.js.map +1 -1
- package/dist/esm/components/assets/AssetsTableNameFilter.js +1 -1
- package/dist/esm/components/assets/AssetsTableNameFilter.js.map +1 -1
- package/dist/esm/components/assets/AssetsTableTagsFilter.js +1 -1
- package/dist/esm/components/assets/AssetsTableTagsFilter.js.map +1 -1
- package/dist/esm/components/assets/AssetsUploadMenu.js +5 -3
- package/dist/esm/components/assets/AssetsUploadMenu.js.map +1 -1
- package/dist/esm/components/confirm-modal/ConfirmModal.js +3 -2
- package/dist/esm/components/confirm-modal/ConfirmModal.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/edit-marker-modal/EditMarkerModal.d.ts +8 -0
- package/dist/esm/components/edit-marker-modal/EditMarkerModal.js +72 -0
- package/dist/esm/components/edit-marker-modal/EditMarkerModal.js.map +1 -0
- package/dist/esm/components/field-wrapper/FieldWrapper.d.ts +1 -0
- package/dist/esm/components/field-wrapper/FieldWrapper.js +10 -8
- package/dist/esm/components/field-wrapper/FieldWrapper.js.map +1 -1
- package/dist/esm/components/header/Header.js +7 -4
- 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 +5 -2
- 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 +31 -12
- package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js.map +1 -1
- package/dist/esm/components/slider-field/SliderField.d.ts +2 -0
- package/dist/esm/components/slider-field/SliderField.js +17 -8
- package/dist/esm/components/slider-field/SliderField.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/components/text-field/TextField.d.ts +1 -0
- package/dist/esm/components/text-field/TextField.js +2 -2
- package/dist/esm/components/text-field/TextField.js.map +1 -1
- package/dist/esm/constants/copy.d.ts +5 -1
- package/dist/esm/constants/copy.js +6 -2
- package/dist/esm/constants/copy.js.map +1 -1
- package/dist/esm/constants/icons.d.ts +2 -0
- package/dist/esm/constants/icons.js +3 -1
- package/dist/esm/constants/icons.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 +4 -3
- package/dist/esm/index.js +4 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/redux/actions/asset-uploads.d.ts +1 -1
- package/dist/esm/redux/actions/asset-uploads.js +165 -115
- package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
- package/dist/esm/redux/actions/publish.js +10 -2
- package/dist/esm/redux/actions/publish.js.map +1 -1
- package/dist/esm/redux/reducers/asset-uploads.js +2 -1
- package/dist/esm/redux/reducers/asset-uploads.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/dist/esm/utils/modal.d.ts +4 -0
- package/dist/esm/utils/modal.js +9 -1
- package/dist/esm/utils/modal.js.map +1 -1
- package/dist/styles.css +101 -6
- package/dist/styles.less +91 -58
- package/less/components/assets.less +5 -39
- package/less/components/button-menu.less +1 -0
- package/less/components/button.less +57 -19
- package/less/components/form-field.less +27 -0
- package/less/components/story-previewer.less +1 -1
- package/package.json +5 -5
- package/src/components/app-wrapper/AppWrapper.tsx +10 -0
- package/src/components/assets/AssetsTableAssetIdFilter.tsx +1 -0
- package/src/components/assets/AssetsTableNameFilter.tsx +1 -0
- package/src/components/assets/AssetsTableTagsFilter.tsx +1 -0
- package/src/components/assets/AssetsUploadMenu.tsx +20 -11
- package/src/components/confirm-modal/ConfirmModal.tsx +3 -2
- package/src/components/edit-guide-modal/EditGuideModal.tsx +110 -0
- package/src/components/field-wrapper/FieldWrapper.tsx +16 -12
- package/src/components/header/Header.tsx +7 -4
- package/src/components/number-field/NumberField.tsx +6 -2
- package/src/components/publish-wizard/publish/EmailWorkflow.tsx +66 -24
- package/src/components/replace-files-modal/ReplaceFilesModal.tsx +217 -0
- package/src/components/slider-field/SliderField.tsx +44 -22
- package/src/components/story-previewer/StoryPreviewer.tsx +24 -8
- package/src/components/tabs/Tabs.tsx +2 -1
- package/src/components/text-field/TextField.tsx +5 -2
- package/src/constants/copy.ts +6 -2
- package/src/constants/icons.tsx +10 -1
- package/src/constants/publish.ts +7 -2
- package/src/index.ts +6 -2
- package/src/redux/actions/asset-uploads.ts +193 -162
- package/src/redux/actions/publish.ts +10 -2
- package/src/redux/reducers/asset-uploads.ts +2 -1
- package/src/services/API.ts +13 -76
- package/src/utils/modal.ts +13 -1
- 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,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
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import * as Cookies from 'js-cookie';
|
|
2
|
-
import axios from 'axios';
|
|
3
|
-
export default class SessionService {
|
|
4
|
-
static LOGIN_STORY_ID_CACHE = 'imp_hub_last_story_id';
|
|
5
|
-
static LOGIN_ORG_ID_CACHE = 'imp_hub_last_org_id';
|
|
6
|
-
static SESSION_COOKIE_NAME = 'auth_state';
|
|
7
|
-
static FRESH_COOKIE = {
|
|
8
|
-
sub: '',
|
|
9
|
-
organization_id: '',
|
|
10
|
-
story_id: ''
|
|
11
|
-
};
|
|
12
|
-
/*
|
|
13
|
-
Get list of accessible services with themes from Imposium API
|
|
14
|
-
*/
|
|
15
|
-
static getAccessData = (idToken, baseUrl, getTotalRenders = false, accountId) => {
|
|
16
|
-
return new Promise((resolve, reject) => {
|
|
17
|
-
let accessUrl = baseUrl ? `${baseUrl}/access` : SessionService.determineAccessUrl();
|
|
18
|
-
const headers = { Authorization: `Bearer ${idToken}` };
|
|
19
|
-
if (getTotalRenders) {
|
|
20
|
-
accessUrl += '?include_total_renders=true';
|
|
21
|
-
}
|
|
22
|
-
if (accountId && accountId !== 'undefined') {
|
|
23
|
-
headers['X-Imposium-Account-Id'] = accountId;
|
|
24
|
-
}
|
|
25
|
-
axios
|
|
26
|
-
.get(accessUrl, { headers })
|
|
27
|
-
.then((res) => {
|
|
28
|
-
resolve(res.data ? res.data : []);
|
|
29
|
-
})
|
|
30
|
-
.catch((e) => {
|
|
31
|
-
reject(e);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
static getSession = () => Cookies.getJSON(SessionService.SESSION_COOKIE_NAME);
|
|
36
|
-
static removeSession = () => {
|
|
37
|
-
const domain = SessionService.scrapeDomain();
|
|
38
|
-
Cookies.remove(SessionService.SESSION_COOKIE_NAME, { domain });
|
|
39
|
-
SessionService.clearCachedOrgId();
|
|
40
|
-
SessionService.clearCachedStoryId();
|
|
41
|
-
};
|
|
42
|
-
static buildFreshSession = (freshIdentity, orgId = null, storyId = null) => {
|
|
43
|
-
const { idTokenPayload: { sub, exp } } = freshIdentity;
|
|
44
|
-
const freshSession = {
|
|
45
|
-
sub
|
|
46
|
-
};
|
|
47
|
-
if (orgId) {
|
|
48
|
-
freshSession.organization_id = orgId;
|
|
49
|
-
}
|
|
50
|
-
if (storyId) {
|
|
51
|
-
freshSession.story_id = storyId;
|
|
52
|
-
}
|
|
53
|
-
SessionService.storeSession(freshSession, exp);
|
|
54
|
-
};
|
|
55
|
-
static storeSession = (values, auth0Expiry) => {
|
|
56
|
-
const cookieData = { ...SessionService.FRESH_COOKIE, ...values };
|
|
57
|
-
const domain = SessionService.scrapeDomain();
|
|
58
|
-
const expiry = new Date(auth0Expiry * 1000);
|
|
59
|
-
Cookies.set(SessionService.SESSION_COOKIE_NAME, cookieData, { domain, expires: expiry });
|
|
60
|
-
};
|
|
61
|
-
static cacheOrgId = (organizationId) => {
|
|
62
|
-
localStorage.setItem(SessionService.LOGIN_ORG_ID_CACHE, organizationId);
|
|
63
|
-
};
|
|
64
|
-
static clearCachedOrgId = () => {
|
|
65
|
-
localStorage.removeItem(SessionService.LOGIN_ORG_ID_CACHE);
|
|
66
|
-
};
|
|
67
|
-
static getCachedOrgId = () => {
|
|
68
|
-
return localStorage.getItem(SessionService.LOGIN_ORG_ID_CACHE);
|
|
69
|
-
};
|
|
70
|
-
static cacheStoryId = (storyId) => {
|
|
71
|
-
localStorage.setItem(SessionService.LOGIN_STORY_ID_CACHE, storyId);
|
|
72
|
-
};
|
|
73
|
-
static clearCachedStoryId = () => {
|
|
74
|
-
localStorage.removeItem(SessionService.LOGIN_STORY_ID_CACHE);
|
|
75
|
-
};
|
|
76
|
-
static getCachedStoryId = () => {
|
|
77
|
-
return localStorage.getItem(SessionService.LOGIN_STORY_ID_CACHE);
|
|
78
|
-
};
|
|
79
|
-
static updateSession = (values, auth0Expiry) => {
|
|
80
|
-
const prevCookieData = SessionService.getSession();
|
|
81
|
-
const nextCookieData = { ...prevCookieData, ...values };
|
|
82
|
-
SessionService.storeSession(nextCookieData, auth0Expiry);
|
|
83
|
-
};
|
|
84
|
-
/*
|
|
85
|
-
Determine which domain to assign cookie to
|
|
86
|
-
*/
|
|
87
|
-
static scrapeDomain = () => {
|
|
88
|
-
const domainParts = window.location.host.split('.').reverse();
|
|
89
|
-
return domainParts.length > 2 ? `.${domainParts[1]}.${domainParts[0].split(':')[0]}` : null;
|
|
90
|
-
};
|
|
91
|
-
/*
|
|
92
|
-
Figure out which access endpoint to hit based on env
|
|
93
|
-
*/
|
|
94
|
-
static determineAccessUrl = () => {
|
|
95
|
-
const { location: { hostname, host } } = window;
|
|
96
|
-
if (hostname === 'localhost') {
|
|
97
|
-
return 'https://api/access';
|
|
98
|
-
}
|
|
99
|
-
else if (host.includes('.staging.')) {
|
|
100
|
-
return 'https://api.staging.imposium.com/access';
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
return 'https://api.imposium.com/access';
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
//# 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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"}
|