@nsshunt/stsoauth2plugin 0.0.3

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.
Files changed (49) hide show
  1. package/.eslintrc.json +27 -0
  2. package/.github/dependabot.yml +13 -0
  3. package/.github/workflows/npm-publish.yml +54 -0
  4. package/LICENSE +21 -0
  5. package/README.md +1 -0
  6. package/babel.config.json +6 -0
  7. package/build.sh +29 -0
  8. package/dist/Utils/CryptoUtils.js +32 -0
  9. package/dist/Utils/CryptoUtils.js.map +1 -0
  10. package/dist/Utils/QueryParams.js +49 -0
  11. package/dist/Utils/QueryParams.js.map +1 -0
  12. package/dist/index.js +3 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/index.test.js +8 -0
  15. package/dist/index.test.js.map +1 -0
  16. package/dist/stsStorage.js +152 -0
  17. package/dist/stsStorage.js.map +1 -0
  18. package/dist/stsoauth2manager.js +327 -0
  19. package/dist/stsoauth2manager.js.map +1 -0
  20. package/dist/stsoauth2types.js +29 -0
  21. package/dist/stsoauth2types.js.map +1 -0
  22. package/dist/stsoauth2worker.js +553 -0
  23. package/dist/stsoauth2worker.js.map +1 -0
  24. package/package.json +43 -0
  25. package/src/Utils/CryptoUtils.ts +32 -0
  26. package/src/Utils/QueryParams.ts +48 -0
  27. package/src/index.test.ts +10 -0
  28. package/src/index.ts +3 -0
  29. package/src/stsStorage.ts +158 -0
  30. package/src/stsoauth2manager.ts +350 -0
  31. package/src/stsoauth2types.ts +108 -0
  32. package/src/stsoauth2worker.ts +542 -0
  33. package/tsconfig.json +31 -0
  34. package/types/Utils/CryptoUtils.d.ts +7 -0
  35. package/types/Utils/CryptoUtils.d.ts.map +1 -0
  36. package/types/Utils/QueryParams.d.ts +8 -0
  37. package/types/Utils/QueryParams.d.ts.map +1 -0
  38. package/types/index.d.ts +3 -0
  39. package/types/index.d.ts.map +1 -0
  40. package/types/index.test.d.ts +1 -0
  41. package/types/index.test.d.ts.map +1 -0
  42. package/types/stsStorage.d.ts +22 -0
  43. package/types/stsStorage.d.ts.map +1 -0
  44. package/types/stsoauth2manager.d.ts +5 -0
  45. package/types/stsoauth2manager.d.ts.map +1 -0
  46. package/types/stsoauth2types.d.ts +89 -0
  47. package/types/stsoauth2types.d.ts.map +1 -0
  48. package/types/stsoauth2worker.d.ts +2 -0
  49. package/types/stsoauth2worker.d.ts.map +1 -0
@@ -0,0 +1,327 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _STSOAuth2Manager_storageManager, _STSOAuth2Manager_router, _STSOAuth2Manager_store, _STSOAuth2Manager_cUtils, _STSOAuth2Manager_qParams, _STSOAuth2Manager_STORAGE_AUTHORIZE_OPTIONS_KEY, _STSOAuth2Manager_STORAGE_SESSION_KEY, _STSOAuth2Manager_aic, _STSOAuth2Manager_options, _STSOAuth2Manager_messages, _STSOAuth2Manager_oauth2ManagerPort, _STSOAuth2Manager_messageId, _STSOAuth2Manager_messageHandlers, _STSOAuth2Manager_messageTimeout, _STSOAuth2Manager_worker, _STSOAuth2Manager_transactionStore, _STSOAuth2Manager_ProcessMessageResponse, _STSOAuth2Manager_PostMessage, _STSOAuth2Manager_HandleErrorEvent, _STSOAuth2Manager_HandleAuthenticateEvent, _STSOAuth2Manager_SetupRoute, _STSOAuth2Manager_SetupStoreNamespace;
13
+ import Debug from "debug";
14
+ const debug = Debug(`proc:${process.pid}:stsoauth2manager.ts`);
15
+ import { OAuth2ParameterType } from '@nsshunt/stsutils';
16
+ import CryptoUtils from './Utils/CryptoUtils';
17
+ import QueryParams from './Utils/QueryParams';
18
+ import { IOauth2ListenerCommand } from './stsoauth2types';
19
+ import { ClientStorageType, ClientStorageFactory } from './stsStorage';
20
+ //import createPersistedState from "vuex-persistedstate"; // https://www.npmjs.com/package/vuex-persistedstate
21
+ import jwt_decode from "jwt-decode";
22
+ //import { transformWithEsbuild } from "vite";
23
+ // STS Client SDK for SPAs
24
+ class STSOAuth2Manager {
25
+ constructor(app, options) {
26
+ _STSOAuth2Manager_storageManager.set(this, null);
27
+ _STSOAuth2Manager_router.set(this, null);
28
+ _STSOAuth2Manager_store.set(this, null);
29
+ _STSOAuth2Manager_cUtils.set(this, new CryptoUtils());
30
+ _STSOAuth2Manager_qParams.set(this, new QueryParams());
31
+ _STSOAuth2Manager_STORAGE_AUTHORIZE_OPTIONS_KEY.set(this, 'authorize_options.stsmda.com.au');
32
+ _STSOAuth2Manager_STORAGE_SESSION_KEY.set(this, 'session.stsmda.com.au');
33
+ _STSOAuth2Manager_aic.set(this, null);
34
+ _STSOAuth2Manager_options.set(this, null);
35
+ _STSOAuth2Manager_messages.set(this, {});
36
+ _STSOAuth2Manager_oauth2ManagerPort.set(this, void 0);
37
+ _STSOAuth2Manager_messageId.set(this, 0);
38
+ _STSOAuth2Manager_messageHandlers.set(this, {}); // keyed by messageId
39
+ _STSOAuth2Manager_messageTimeout.set(this, 1000);
40
+ _STSOAuth2Manager_worker.set(this, null);
41
+ _STSOAuth2Manager_transactionStore.set(this, null); // Transient transaction data used to establish a session via OAuth2 authorize handshake
42
+ _STSOAuth2Manager_ProcessMessageResponse.set(this, (data) => {
43
+ const messageResponse = data.data;
44
+ if (messageResponse.messageId === -1) {
45
+ // unsolicted message
46
+ switch (messageResponse.command) {
47
+ case IOauth2ListenerCommand.AUTHENTICATE_EVENT:
48
+ __classPrivateFieldGet(this, _STSOAuth2Manager_HandleAuthenticateEvent, "f").call(this, messageResponse.payload);
49
+ break;
50
+ case IOauth2ListenerCommand.ERROR:
51
+ __classPrivateFieldGet(this, _STSOAuth2Manager_HandleErrorEvent, "f").call(this, messageResponse.payload);
52
+ break;
53
+ default:
54
+ throw new Error(`ProcessMessageResponse command [${messageResponse.command}] not valid.`);
55
+ }
56
+ }
57
+ else {
58
+ const callBack = __classPrivateFieldGet(this, _STSOAuth2Manager_messageHandlers, "f")[messageResponse.messageId];
59
+ if (callBack) {
60
+ callBack(messageResponse);
61
+ }
62
+ else {
63
+ throw new Error(`Message: [${messageResponse.messageId}] does not exists in callBacks.`);
64
+ }
65
+ }
66
+ });
67
+ _STSOAuth2Manager_PostMessage.set(this, (message) => {
68
+ var _a, _b;
69
+ message.messageId = (__classPrivateFieldSet(this, _STSOAuth2Manager_messageId, (_b = __classPrivateFieldGet(this, _STSOAuth2Manager_messageId, "f"), _a = _b++, _b), "f"), _a);
70
+ return new Promise((resolve, reject) => {
71
+ // Setup message timeout
72
+ const timeout = setTimeout(() => {
73
+ delete __classPrivateFieldGet(this, _STSOAuth2Manager_messageHandlers, "f")[message.messageId];
74
+ reject(`Message: [${message.messageId}] timeout error after: [${__classPrivateFieldGet(this, _STSOAuth2Manager_messageTimeout, "f")}] ms.`);
75
+ }, __classPrivateFieldGet(this, _STSOAuth2Manager_messageTimeout, "f"));
76
+ // Setup message callback based on messageId
77
+ __classPrivateFieldGet(this, _STSOAuth2Manager_messageHandlers, "f")[message.messageId] = (response) => {
78
+ clearTimeout(timeout);
79
+ delete __classPrivateFieldGet(this, _STSOAuth2Manager_messageHandlers, "f")[message.messageId];
80
+ resolve(response);
81
+ };
82
+ // Send the message
83
+ __classPrivateFieldGet(this, _STSOAuth2Manager_oauth2ManagerPort, "f").postMessage(message);
84
+ });
85
+ }
86
+ // Will come from message channel
87
+ );
88
+ // Will come from message channel
89
+ _STSOAuth2Manager_HandleErrorEvent.set(this, (error) => {
90
+ __classPrivateFieldGet(this, _STSOAuth2Manager_store, "f").commit('AuthorizeError', {
91
+ message: error
92
+ });
93
+ // plugin to do this ...
94
+ setTimeout(() => {
95
+ __classPrivateFieldGet(this, _STSOAuth2Manager_router, "f").replace('/error'); //@@ was push
96
+ }, 0);
97
+ });
98
+ _STSOAuth2Manager_HandleAuthenticateEvent.set(this, (id_token) => {
99
+ if (__classPrivateFieldGet(this, _STSOAuth2Manager_options, "f").authenticateEvent) {
100
+ __classPrivateFieldGet(this, _STSOAuth2Manager_options, "f").authenticateEvent(id_token);
101
+ }
102
+ __classPrivateFieldGet(this, _STSOAuth2Manager_store, "f").commit('stsOAuth2SDK/SessionData', id_token);
103
+ });
104
+ _STSOAuth2Manager_SetupRoute.set(this, (app, router) => {
105
+ router.beforeEach(async (to, from) => {
106
+ const store = app.config.globalProperties.$store;
107
+ const sts = app.config.globalProperties.$sts;
108
+ debug(`beforeEach: from: [${from.path}], to: [${to.path}]`.gray);
109
+ if (store.getters['stsOAuth2SDK/LoggedIn'] === false) {
110
+ console.log(`Not logged in`);
111
+ // Not logged in
112
+ if (to.path.localeCompare('/authorize') === 0) {
113
+ console.log(`to = /authorize`);
114
+ return true;
115
+ }
116
+ else if (to.path.localeCompare('/consent') === 0) {
117
+ // Need to check if we are in the correct state, if not - drop back to the start of the process
118
+ if (typeof store.getters.Session.sessionId !== 'undefined') {
119
+ return true;
120
+ }
121
+ }
122
+ if (to.path.localeCompare('/logout') === 0) {
123
+ return true;
124
+ }
125
+ if (to.path.localeCompare('/error') === 0) {
126
+ return true;
127
+ }
128
+ if (to.path.localeCompare('/logout') === 0) {
129
+ return true;
130
+ }
131
+ const str = to.query;
132
+ // Check if this route is from a redirect from the authorization server
133
+ if (str[OAuth2ParameterType.CODE] || str[OAuth2ParameterType.ERROR]) {
134
+ console.log(`#SetupRout:str = [${str}]`);
135
+ const retVal = await sts.om.HandleRedirect(str);
136
+ if (retVal) {
137
+ // Success
138
+ setTimeout(() => {
139
+ window.history.replaceState({}, document.title, window.location.origin + '/');
140
+ }, 0);
141
+ return true;
142
+ }
143
+ else {
144
+ // Error
145
+ //@@ need the error data here - or use the vuex store ?
146
+ __classPrivateFieldGet(this, _STSOAuth2Manager_router, "f").replace('/error'); //@@ was push
147
+ //@@ should replaceState be used as in above?
148
+ return false;
149
+ }
150
+ }
151
+ const sessionRestored = await sts.om.RestoreSession();
152
+ console.log(`#SetupRoute:sessionRestored [${sessionRestored}]`);
153
+ if (sessionRestored !== true) {
154
+ console.log('Session not restored - Need to Authorize');
155
+ sts.om.Authorize();
156
+ return false;
157
+ }
158
+ else {
159
+ return '/';
160
+ //router.replace({ path: '/' })
161
+ }
162
+ }
163
+ else {
164
+ // Prevent pages if already logged in
165
+ if (to.path.localeCompare('/consent') === 0) {
166
+ return '/';
167
+ /*
168
+ router.replace({ path: '/' })
169
+ return false;
170
+ */
171
+ }
172
+ if (to.path.localeCompare('/authorize') === 0) {
173
+ router.replace({ path: '/' });
174
+ return false;
175
+ }
176
+ if (to.path.localeCompare('/logout') === 0) {
177
+ router.replace({ path: '/' });
178
+ return false;
179
+ }
180
+ return true;
181
+ /*
182
+ if (to.path.localeCompare('/') === 0) {
183
+ // In case press the back button in the browser shows previous query string params, replace them ...
184
+ setTimeout(() => {
185
+ window.history.replaceState(
186
+ {},
187
+ document.title,
188
+ window.location.origin + '/');
189
+ }, 0);
190
+ return true;
191
+ }
192
+ */
193
+ }
194
+ });
195
+ });
196
+ _STSOAuth2Manager_SetupStoreNamespace.set(this, () => {
197
+ __classPrivateFieldGet(this, _STSOAuth2Manager_store, "f").registerModule('stsOAuth2SDK', {
198
+ namespaced: true,
199
+ state() {
200
+ return {
201
+ // STS Client SDK options. These are parameters initiated by the client SPA and used for the end-to-end transaction processing.
202
+ //authorizeOptions: { },
203
+ sessionData: {},
204
+ };
205
+ },
206
+ getters: {
207
+ SessionData(state) {
208
+ return state.sessionData;
209
+ },
210
+ LoggedIn(state) {
211
+ if (typeof state.sessionData === 'undefined') {
212
+ return false;
213
+ }
214
+ if (state.sessionData === null) {
215
+ return false;
216
+ }
217
+ return true;
218
+ },
219
+ UserDetails(state) {
220
+ //if (state.sessionData && state.sessionData.id_token) {
221
+ if (state.sessionData) {
222
+ const id_token = state.sessionData;
223
+ const decodedIdToken = jwt_decode(id_token);
224
+ return decodedIdToken;
225
+ }
226
+ else {
227
+ return null;
228
+ }
229
+ }
230
+ },
231
+ mutations: {
232
+ SessionData(state, sessionData) {
233
+ state.sessionData = sessionData;
234
+ console.log(`commit [sessionData]: ${JSON.stringify(sessionData)}`);
235
+ },
236
+ }
237
+ }, { preserveState: true });
238
+ });
239
+ this.RestoreSession = async () => {
240
+ try {
241
+ const response = await __classPrivateFieldGet(this, _STSOAuth2Manager_PostMessage, "f").call(this, { command: IOauth2ListenerCommand.RESTORE_SESSION });
242
+ return response.payload;
243
+ }
244
+ catch (error) {
245
+ console.log(`RestoreSession Error: ${error}`.red);
246
+ return false;
247
+ }
248
+ };
249
+ this.Authorize = async () => {
250
+ try {
251
+ const response = await __classPrivateFieldGet(this, _STSOAuth2Manager_PostMessage, "f").call(this, { command: IOauth2ListenerCommand.AUTHORIZE });
252
+ __classPrivateFieldGet(this, _STSOAuth2Manager_transactionStore, "f").set(__classPrivateFieldGet(this, _STSOAuth2Manager_STORAGE_AUTHORIZE_OPTIONS_KEY, "f"), response.payload.authorizeOptions);
253
+ const url = response.payload.url;
254
+ window.location.replace(url);
255
+ }
256
+ catch (error) {
257
+ console.log(`Authorize Error: ${error}`.red);
258
+ }
259
+ };
260
+ this.HandleRedirect = async (queryVars) => {
261
+ try {
262
+ let response = null;
263
+ if (queryVars[OAuth2ParameterType.CODE]) {
264
+ const authorizeOptions = __classPrivateFieldGet(this, _STSOAuth2Manager_transactionStore, "f").get(__classPrivateFieldGet(this, _STSOAuth2Manager_STORAGE_AUTHORIZE_OPTIONS_KEY, "f"));
265
+ __classPrivateFieldGet(this, _STSOAuth2Manager_transactionStore, "f").remove(__classPrivateFieldGet(this, _STSOAuth2Manager_STORAGE_AUTHORIZE_OPTIONS_KEY, "f"));
266
+ response = await __classPrivateFieldGet(this, _STSOAuth2Manager_PostMessage, "f").call(this, { command: IOauth2ListenerCommand.HANDLE_REDIRECT, payload: {
267
+ queryVars: queryVars,
268
+ authorizeOptions
269
+ } });
270
+ }
271
+ else {
272
+ response = await __classPrivateFieldGet(this, _STSOAuth2Manager_PostMessage, "f").call(this, { command: IOauth2ListenerCommand.HANDLE_REDIRECT, payload: queryVars });
273
+ }
274
+ return response.payload;
275
+ }
276
+ catch (error) {
277
+ console.log(`HandleRedirect Error: ${error}`.red);
278
+ return false;
279
+ }
280
+ };
281
+ this.Logout = async () => {
282
+ try {
283
+ const response = await __classPrivateFieldGet(this, _STSOAuth2Manager_PostMessage, "f").call(this, { command: IOauth2ListenerCommand.LOGOUT });
284
+ return response.payload;
285
+ }
286
+ catch (error) {
287
+ console.log(`Logout Error: ${error}`.red);
288
+ return false;
289
+ }
290
+ };
291
+ __classPrivateFieldSet(this, _STSOAuth2Manager_options, options, "f");
292
+ __classPrivateFieldSet(this, _STSOAuth2Manager_storageManager, app.config.globalProperties.$sts.storage, "f");
293
+ __classPrivateFieldSet(this, _STSOAuth2Manager_store, app.config.globalProperties.$store, "f");
294
+ __classPrivateFieldSet(this, _STSOAuth2Manager_aic, app.config.globalProperties.$sts.aic.PrimaryPublishInstrumentController, "f");
295
+ __classPrivateFieldSet(this, _STSOAuth2Manager_router, app.config.globalProperties.$router, "f");
296
+ // Use session storage for the transient nature of the OAuth2 authorize handshake. Once completed, the storage will be removed.
297
+ __classPrivateFieldSet(this, _STSOAuth2Manager_transactionStore, new ClientStorageFactory({ clientStorageType: ClientStorageType.SESSION_STORAGE }).GetStorage(), "f");
298
+ __classPrivateFieldSet(this, _STSOAuth2Manager_worker, new Worker(new URL('./stsoauth2worker.ts', import.meta.url), {
299
+ type: 'module'
300
+ }), "f");
301
+ __classPrivateFieldGet(this, _STSOAuth2Manager_worker, "f").onmessage = (data) => {
302
+ console.log(`this.#worker.onmessage = [${data}]`.green);
303
+ };
304
+ __classPrivateFieldGet(this, _STSOAuth2Manager_worker, "f").onerror = function (error) {
305
+ console.log(`this.#worker.onerror = [${error}]`.green);
306
+ };
307
+ const { port1: oauth2ManagerPort, // process message port
308
+ port2: oauth2WorkerPort // collector message port
309
+ } = new MessageChannel();
310
+ __classPrivateFieldSet(this, _STSOAuth2Manager_oauth2ManagerPort, oauth2ManagerPort, "f");
311
+ __classPrivateFieldGet(this, _STSOAuth2Manager_worker, "f").postMessage(oauth2WorkerPort, [oauth2WorkerPort]);
312
+ __classPrivateFieldGet(this, _STSOAuth2Manager_oauth2ManagerPort, "f").onmessage = (data) => {
313
+ __classPrivateFieldGet(this, _STSOAuth2Manager_ProcessMessageResponse, "f").call(this, data);
314
+ };
315
+ __classPrivateFieldGet(this, _STSOAuth2Manager_SetupStoreNamespace, "f").call(this);
316
+ __classPrivateFieldGet(this, _STSOAuth2Manager_SetupRoute, "f").call(this, app, options.router);
317
+ }
318
+ }
319
+ _STSOAuth2Manager_storageManager = new WeakMap(), _STSOAuth2Manager_router = new WeakMap(), _STSOAuth2Manager_store = new WeakMap(), _STSOAuth2Manager_cUtils = new WeakMap(), _STSOAuth2Manager_qParams = new WeakMap(), _STSOAuth2Manager_STORAGE_AUTHORIZE_OPTIONS_KEY = new WeakMap(), _STSOAuth2Manager_STORAGE_SESSION_KEY = new WeakMap(), _STSOAuth2Manager_aic = new WeakMap(), _STSOAuth2Manager_options = new WeakMap(), _STSOAuth2Manager_messages = new WeakMap(), _STSOAuth2Manager_oauth2ManagerPort = new WeakMap(), _STSOAuth2Manager_messageId = new WeakMap(), _STSOAuth2Manager_messageHandlers = new WeakMap(), _STSOAuth2Manager_messageTimeout = new WeakMap(), _STSOAuth2Manager_worker = new WeakMap(), _STSOAuth2Manager_transactionStore = new WeakMap(), _STSOAuth2Manager_ProcessMessageResponse = new WeakMap(), _STSOAuth2Manager_PostMessage = new WeakMap(), _STSOAuth2Manager_HandleErrorEvent = new WeakMap(), _STSOAuth2Manager_HandleAuthenticateEvent = new WeakMap(), _STSOAuth2Manager_SetupRoute = new WeakMap(), _STSOAuth2Manager_SetupStoreNamespace = new WeakMap();
320
+ const STSOAuth2ManagerPlugin = {
321
+ install: (app, router) => {
322
+ const om = new STSOAuth2Manager(app, router);
323
+ app.config.globalProperties.$sts.om = om;
324
+ }
325
+ };
326
+ export default STSOAuth2ManagerPlugin;
327
+ //# sourceMappingURL=stsoauth2manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stsoauth2manager.js","sourceRoot":"","sources":["../src/stsoauth2manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export var AuthorizeOptionsResponseType;
2
+ (function (AuthorizeOptionsResponseType) {
3
+ AuthorizeOptionsResponseType["CODE"] = "code";
4
+ AuthorizeOptionsResponseType["ID_TOKEN"] = "id_token";
5
+ AuthorizeOptionsResponseType["TOKEN"] = "token";
6
+ })(AuthorizeOptionsResponseType || (AuthorizeOptionsResponseType = {}));
7
+ export var AuthorizeOptionsResponseMode;
8
+ (function (AuthorizeOptionsResponseMode) {
9
+ AuthorizeOptionsResponseMode["QUERY"] = "query";
10
+ AuthorizeOptionsResponseMode["FRAGMENT"] = "fragment";
11
+ AuthorizeOptionsResponseMode["FORM_POST"] = "form_post";
12
+ })(AuthorizeOptionsResponseMode || (AuthorizeOptionsResponseMode = {}));
13
+ export var OAuthGrantTypes;
14
+ (function (OAuthGrantTypes) {
15
+ OAuthGrantTypes["CLIENT_CREDENTIALS"] = "client_credentials";
16
+ OAuthGrantTypes["AUTHORIZATION_CODE"] = "authorization_code";
17
+ OAuthGrantTypes["REFRESH_TOKEN"] = "refresh_token";
18
+ })(OAuthGrantTypes || (OAuthGrantTypes = {}));
19
+ // ---------------
20
+ export var IOauth2ListenerCommand;
21
+ (function (IOauth2ListenerCommand) {
22
+ IOauth2ListenerCommand["RESTORE_SESSION"] = "RestoreSession";
23
+ IOauth2ListenerCommand["AUTHORIZE"] = "Authorize";
24
+ IOauth2ListenerCommand["HANDLE_REDIRECT"] = "HandleRedirect";
25
+ IOauth2ListenerCommand["LOGOUT"] = "Logout";
26
+ IOauth2ListenerCommand["AUTHENTICATE_EVENT"] = "AuthenticateEvent";
27
+ IOauth2ListenerCommand["ERROR"] = "Error";
28
+ })(IOauth2ListenerCommand || (IOauth2ListenerCommand = {}));
29
+ //# sourceMappingURL=stsoauth2types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stsoauth2types.js","sourceRoot":"","sources":["../src/stsoauth2types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,4BAIX;AAJD,WAAY,4BAA4B;IACvC,6CAAa,CAAA;IACb,qDAAqB,CAAA;IACrB,+CAAe,CAAA;AAChB,CAAC,EAJW,4BAA4B,KAA5B,4BAA4B,QAIvC;AAED,MAAM,CAAN,IAAY,4BAIX;AAJD,WAAY,4BAA4B;IACvC,+CAAe,CAAA;IACf,qDAAqB,CAAA;IACrB,uDAAuB,CAAA;AACxB,CAAC,EAJW,4BAA4B,KAA5B,4BAA4B,QAIvC;AA0BD,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IAC1B,4DAAyC,CAAA;IACzC,4DAAyC,CAAA;IACzC,kDAA+B,CAAA;AAChC,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAuCD,kBAAkB;AAElB,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IACjC,4DAAkC,CAAA;IAClC,iDAAuB,CAAA;IACvB,4DAAkC,CAAA;IAClC,2CAAiB,CAAA;IACjB,kEAAwC,CAAA;IACxC,yCAAe,CAAA;AAChB,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC"}