@axa-fr/react-oidc 6.11.4-alpha2 → 6.12.0

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 (74) hide show
  1. package/dist/OidcProvider.d.ts +1 -1
  2. package/dist/OidcProvider.d.ts.map +1 -1
  3. package/dist/OidcSecure.d.ts +1 -1
  4. package/dist/OidcSecure.d.ts.map +1 -1
  5. package/dist/OidcServiceWorker.js +16 -3
  6. package/dist/ReactOidc.d.ts +1 -1
  7. package/dist/ReactOidc.d.ts.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/vanilla/initSession.d.ts +3 -3
  12. package/dist/vanilla/initSession.d.ts.map +1 -1
  13. package/dist/vanilla/initSession.js +20 -20
  14. package/dist/vanilla/initSession.js.map +1 -1
  15. package/dist/vanilla/initWorker.d.ts +4 -4
  16. package/dist/vanilla/initWorker.d.ts.map +1 -1
  17. package/dist/vanilla/initWorker.js +13 -13
  18. package/dist/vanilla/initWorker.js.map +1 -1
  19. package/dist/vanilla/oidc.d.ts +36 -7
  20. package/dist/vanilla/oidc.d.ts.map +1 -1
  21. package/dist/vanilla/oidc.js +357 -82
  22. package/dist/vanilla/oidc.js.map +1 -1
  23. package/dist/vanilla/requests.d.ts +0 -2
  24. package/dist/vanilla/requests.d.ts.map +1 -1
  25. package/dist/vanilla/requests.js +1 -20
  26. package/dist/vanilla/requests.js.map +1 -1
  27. package/dist/vanilla/route-utils.js +1 -1
  28. package/dist/vanilla/route-utils.js.map +1 -1
  29. package/dist/vanilla/vanillaOidc.d.ts +1 -2
  30. package/dist/vanilla/vanillaOidc.d.ts.map +1 -1
  31. package/dist/vanilla/vanillaOidc.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/oidc/OidcProvider.tsx +1 -1
  34. package/src/oidc/OidcSecure.tsx +1 -1
  35. package/src/oidc/ReactOidc.tsx +1 -1
  36. package/src/oidc/index.ts +1 -1
  37. package/src/oidc/vanilla/OidcServiceWorker.js +16 -3
  38. package/src/oidc/vanilla/index.ts +1 -1
  39. package/src/oidc/vanilla/initSession.ts +20 -20
  40. package/src/oidc/vanilla/initWorker.ts +14 -14
  41. package/src/oidc/vanilla/oidc.ts +380 -52
  42. package/src/oidc/vanilla/requests.ts +0 -24
  43. package/src/oidc/vanilla/route-utils.ts +1 -1
  44. package/src/oidc/vanilla/vanillaOidc.ts +1 -2
  45. package/dist/vanilla/checkSession.d.ts +0 -5
  46. package/dist/vanilla/checkSession.d.ts.map +0 -1
  47. package/dist/vanilla/checkSession.js +0 -68
  48. package/dist/vanilla/checkSession.js.map +0 -1
  49. package/dist/vanilla/events.d.ts +0 -29
  50. package/dist/vanilla/events.d.ts.map +0 -1
  51. package/dist/vanilla/events.js +0 -32
  52. package/dist/vanilla/events.js.map +0 -1
  53. package/dist/vanilla/login.d.ts +0 -4
  54. package/dist/vanilla/login.d.ts.map +0 -1
  55. package/dist/vanilla/login.js +0 -125
  56. package/dist/vanilla/login.js.map +0 -1
  57. package/dist/vanilla/silentLogin.d.ts +0 -8
  58. package/dist/vanilla/silentLogin.d.ts.map +0 -1
  59. package/dist/vanilla/silentLogin.js +0 -95
  60. package/dist/vanilla/silentLogin.js.map +0 -1
  61. package/dist/vanilla/types.d.ts +0 -33
  62. package/dist/vanilla/types.d.ts.map +0 -1
  63. package/dist/vanilla/types.js +0 -3
  64. package/dist/vanilla/types.js.map +0 -1
  65. package/dist/vanilla/user.d.ts +0 -2
  66. package/dist/vanilla/user.d.ts.map +0 -1
  67. package/dist/vanilla/user.js +0 -48
  68. package/dist/vanilla/user.js.map +0 -1
  69. package/src/oidc/vanilla/checkSession.ts +0 -55
  70. package/src/oidc/vanilla/events.ts +0 -29
  71. package/src/oidc/vanilla/login.ts +0 -118
  72. package/src/oidc/vanilla/silentLogin.ts +0 -102
  73. package/src/oidc/vanilla/types.ts +0 -35
  74. package/src/oidc/vanilla/user.ts +0 -39
@@ -1,5 +0,0 @@
1
- import { CheckSessionIFrame } from './checkSessionIFrame';
2
- import { Tokens } from './parseTokens';
3
- import { OidcConfiguration } from './types';
4
- export declare const startCheckSessionAsync: (oidcDatabase: any, configuration: OidcConfiguration, checkSessionIFrame: CheckSessionIFrame, silentLoginAsync: Function, getCurrentTokens: () => Tokens) => (checkSessionIFrameUri: any, clientId: any, sessionState: any, isSilentSignin?: boolean) => Promise<CheckSessionIFrame>;
5
- //# sourceMappingURL=checkSession.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkSession.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/checkSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,eAAO,MAAM,sBAAsB,iBAAiB,GAAG,iBAAiB,iBAAiB,sBAAsB,kBAAkB,oBAAmB,QAAQ,oBAAoB,MAAM,MAAM,4HAiD3L,CAAC"}
@@ -1,68 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.startCheckSessionAsync = void 0;
13
- const checkSessionIFrame_1 = require("./checkSessionIFrame");
14
- // eslint-disable-next-line @typescript-eslint/ban-types
15
- const startCheckSessionAsync = (oidcDatabase, configuration, checkSessionIFrame, silentLoginAsync, getCurrentTokens) => (checkSessionIFrameUri, clientId, sessionState, isSilentSignin = false) => {
16
- return new Promise((resolve, reject) => {
17
- if (configuration.silent_login_uri && configuration.silent_redirect_uri && configuration.monitor_session && checkSessionIFrameUri && sessionState && !isSilentSignin) {
18
- const checkSessionCallback = () => {
19
- checkSessionIFrame.stop();
20
- const tokens = getCurrentTokens();
21
- if (tokens === null) {
22
- return;
23
- }
24
- const idToken = tokens.idToken;
25
- const idTokenPayload = tokens.idTokenPayload;
26
- silentLoginAsync({
27
- prompt: 'none',
28
- id_token_hint: idToken,
29
- scope: 'openid',
30
- }).then((silentSigninResponse) => {
31
- const iFrameIdTokenPayload = silentSigninResponse.tokens.idTokenPayload;
32
- if (idTokenPayload.sub === iFrameIdTokenPayload.sub) {
33
- const sessionState = silentSigninResponse.sessionState;
34
- checkSessionIFrame.start(silentSigninResponse.sessionState);
35
- if (idTokenPayload.sid === iFrameIdTokenPayload.sid) {
36
- console.debug('SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:', sessionState);
37
- }
38
- else {
39
- console.debug('SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:', sessionState);
40
- }
41
- }
42
- else {
43
- console.debug('SessionMonitor._callback: Different subject signed into OP:', iFrameIdTokenPayload.sub);
44
- }
45
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
46
- }).catch((e) => __awaiter(void 0, void 0, void 0, function* () {
47
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
48
- for (const [key, oidc] of Object.entries(oidcDatabase)) {
49
- // @ts-ignore
50
- yield oidc.logoutOtherTabAsync(this.configuration.client_id, idTokenPayload.sub);
51
- }
52
- }));
53
- };
54
- checkSessionIFrame = new checkSessionIFrame_1.CheckSessionIFrame(checkSessionCallback, clientId, checkSessionIFrameUri);
55
- checkSessionIFrame.load().then(() => {
56
- checkSessionIFrame.start(sessionState);
57
- resolve(checkSessionIFrame);
58
- }).catch((e) => {
59
- reject(e);
60
- });
61
- }
62
- else {
63
- resolve(null);
64
- }
65
- });
66
- };
67
- exports.startCheckSessionAsync = startCheckSessionAsync;
68
- //# sourceMappingURL=checkSession.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkSession.js","sourceRoot":"","sources":["../../src/oidc/vanilla/checkSession.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAA0D;AAI1D,wDAAwD;AACjD,MAAM,sBAAsB,GAAG,CAAC,YAAgB,EAAE,aAAgC,EAAE,kBAAsC,EAAE,gBAAyB,EAAE,gBAA8B,EAAE,EAAE,CAAC,CAAC,qBAAqB,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,GAAG,KAAK,EAAE,EAAE;IACvQ,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;QAC7D,IAAI,aAAa,CAAC,gBAAgB,IAAI,aAAa,CAAC,mBAAmB,IAAI,aAAa,CAAC,eAAe,IAAI,qBAAqB,IAAI,YAAY,IAAI,CAAC,cAAc,EAAE;YAClK,MAAM,oBAAoB,GAAG,GAAG,EAAE;gBAC9B,kBAAkB,CAAC,IAAI,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;gBAClC,IAAI,MAAM,KAAK,IAAI,EAAE;oBACjB,OAAO;iBACV;gBACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC/B,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBAC7C,gBAAgB,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,aAAa,EAAE,OAAO;oBACtB,KAAK,EAAE,QAAQ;iBAClB,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,EAAE;oBAC7B,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CAAC,cAAc,CAAC;oBACxE,IAAI,cAAc,CAAC,GAAG,KAAK,oBAAoB,CAAC,GAAG,EAAE;wBACjD,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,CAAC;wBACvD,kBAAkB,CAAC,KAAK,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;wBAC5D,IAAI,cAAc,CAAC,GAAG,KAAK,oBAAoB,CAAC,GAAG,EAAE;4BACjD,OAAO,CAAC,KAAK,CAAC,2GAA2G,EAAE,YAAY,CAAC,CAAC;yBAC5I;6BAAM;4BACH,OAAO,CAAC,KAAK,CAAC,sIAAsI,EAAE,YAAY,CAAC,CAAC;yBACvK;qBACJ;yBAAM;wBACH,OAAO,CAAC,KAAK,CAAC,6DAA6D,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;qBAC1G;oBACD,6DAA6D;gBACjE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAO,CAAC,EAAE,EAAE;oBACjB,6DAA6D;oBAC7D,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;wBACpD,aAAa;wBACb,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;qBACpF;gBACL,CAAC,CAAA,CAAC,CAAC;YACP,CAAC,CAAC;YAEF,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,oBAAoB,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;YACnG,kBAAkB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACvC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACX,MAAM,CAAC,CAAC,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;SACN;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,CAAC;SACjB;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAjDW,QAAA,sBAAsB,0BAiDjC"}
@@ -1,29 +0,0 @@
1
- export declare const eventNames: {
2
- service_worker_not_supported_by_browser: string;
3
- token_aquired: string;
4
- logout_from_another_tab: string;
5
- logout_from_same_tab: string;
6
- token_renewed: string;
7
- token_timer: string;
8
- loginAsync_begin: string;
9
- loginAsync_error: string;
10
- loginCallbackAsync_begin: string;
11
- loginCallbackAsync_end: string;
12
- loginCallbackAsync_error: string;
13
- refreshTokensAsync_begin: string;
14
- refreshTokensAsync: string;
15
- refreshTokensAsync_end: string;
16
- refreshTokensAsync_error: string;
17
- refreshTokensAsync_silent_error: string;
18
- tryKeepExistingSessionAsync_begin: string;
19
- tryKeepExistingSessionAsync_end: string;
20
- tryKeepExistingSessionAsync_error: string;
21
- silentLoginAsync_begin: string;
22
- silentLoginAsync: string;
23
- silentLoginAsync_end: string;
24
- silentLoginAsync_error: string;
25
- syncTokensAsync_begin: string;
26
- syncTokensAsync_end: string;
27
- syncTokensAsync_error: string;
28
- };
29
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/events.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BtB,CAAC"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eventNames = void 0;
4
- exports.eventNames = {
5
- service_worker_not_supported_by_browser: 'service_worker_not_supported_by_browser',
6
- token_aquired: 'token_aquired',
7
- logout_from_another_tab: 'logout_from_another_tab',
8
- logout_from_same_tab: 'logout_from_same_tab',
9
- token_renewed: 'token_renewed',
10
- token_timer: 'token_timer',
11
- loginAsync_begin: 'loginAsync_begin',
12
- loginAsync_error: 'loginAsync_error',
13
- loginCallbackAsync_begin: 'loginCallbackAsync_begin',
14
- loginCallbackAsync_end: 'loginCallbackAsync_end',
15
- loginCallbackAsync_error: 'loginCallbackAsync_error',
16
- refreshTokensAsync_begin: 'refreshTokensAsync_begin',
17
- refreshTokensAsync: 'refreshTokensAsync',
18
- refreshTokensAsync_end: 'refreshTokensAsync_end',
19
- refreshTokensAsync_error: 'refreshTokensAsync_error',
20
- refreshTokensAsync_silent_error: 'refreshTokensAsync_silent_error',
21
- tryKeepExistingSessionAsync_begin: 'tryKeepExistingSessionAsync_begin',
22
- tryKeepExistingSessionAsync_end: 'tryKeepExistingSessionAsync_end',
23
- tryKeepExistingSessionAsync_error: 'tryKeepExistingSessionAsync_error',
24
- silentLoginAsync_begin: 'silentLoginAsync_begin',
25
- silentLoginAsync: 'silentLoginAsync',
26
- silentLoginAsync_end: 'silentLoginAsync_end',
27
- silentLoginAsync_error: 'silentLoginAsync_error',
28
- syncTokensAsync_begin: 'syncTokensAsync_begin',
29
- syncTokensAsync_end: 'syncTokensAsync_end',
30
- syncTokensAsync_error: 'syncTokensAsync_error',
31
- };
32
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/oidc/vanilla/events.ts"],"names":[],"mappings":";;;AACa,QAAA,UAAU,GAAG;IACtB,uCAAuC,EAAE,yCAAyC;IAClF,aAAa,EAAE,eAAe;IAC9B,uBAAuB,EAAE,yBAAyB;IAClD,oBAAoB,EAAE,sBAAsB;IAC5C,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,wBAAwB,EAAE,0BAA0B;IACpD,sBAAsB,EAAE,wBAAwB;IAChD,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,wBAAwB;IAChD,wBAAwB,EAAE,0BAA0B;IACpD,+BAA+B,EAAE,iCAAiC;IAClE,iCAAiC,EAAE,mCAAmC;IACtE,+BAA+B,EAAE,iCAAiC;IAClE,iCAAiC,EAAE,mCAAmC;IACtE,sBAAsB,EAAE,wBAAwB;IAChD,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;CACjD,CAAC"}
@@ -1,4 +0,0 @@
1
- import { OidcConfiguration, StringMap } from './types';
2
- export declare const defaultLoginAsync: (window: any, configurationName: any, configuration: OidcConfiguration, silentLoginAsync: Function, publishEvent: (string: any, any: any) => void, initAsync: Function) => (callbackPath?: string, extras?: StringMap, isSilentSignin?: boolean, scope?: string) => Promise<void>;
3
- export declare const defaultSilentLoginAsync2: (window: any, configurationName: any, configuration: OidcConfiguration, publishEvent: (string: any, any: any) => void, oidc: any) => (extras?: StringMap, scope?: string) => Promise<any>;
4
- //# sourceMappingURL=login.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/login.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAYvD,eAAO,MAAM,iBAAiB,uDAA6C,iBAAiB,oBAAmB,QAAQ,2CAA+B,IAAI,aAAY,QAAQ,qBAAmB,MAAM,WAAqB,SAAS,oCAAuC,MAAM,kBAmEjR,CAAC;AAGF,eAAO,MAAM,wBAAwB,uDAA6C,iBAAiB,2CAA+B,IAAI,QAAO,GAAG,eAAa,SAAS,UAAe,MAAM,iBA4B1L,CAAC"}
@@ -1,125 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.defaultSilentLoginAsync2 = exports.defaultLoginAsync = void 0;
13
- const appauth_1 = require("@openid/appauth");
14
- const events_1 = require("./events");
15
- const initSession_1 = require("./initSession");
16
- const initWorker_1 = require("./initWorker");
17
- const memoryStorageBackend_1 = require("./memoryStorageBackend");
18
- const noHashQueryStringUtils_1 = require("./noHashQueryStringUtils");
19
- const randomString = function (length) {
20
- let text = '';
21
- const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
22
- for (let i = 0; i < length; i++) {
23
- text += possible.charAt(Math.floor(Math.random() * possible.length));
24
- }
25
- return text;
26
- };
27
- // eslint-disable-next-line @typescript-eslint/ban-types
28
- const defaultLoginAsync = (window, configurationName, configuration, silentLoginAsync, publishEvent, initAsync) => (callbackPath = undefined, extras = null, isSilentSignin = false, scope = undefined) => {
29
- const originExtras = extras;
30
- extras = Object.assign({}, extras);
31
- const loginLocalAsync = () => __awaiter(void 0, void 0, void 0, function* () {
32
- var _a, _b;
33
- const location = window.location;
34
- const url = callbackPath || location.pathname + (location.search || '') + (location.hash || '');
35
- let state;
36
- if (extras && 'state' in extras) {
37
- state = extras.state;
38
- delete extras.state;
39
- }
40
- publishEvent(events_1.eventNames.loginAsync_begin, {});
41
- if (extras) {
42
- for (const key of Object.keys(extras)) {
43
- if (key.endsWith(':token_request')) {
44
- delete extras[key];
45
- }
46
- }
47
- }
48
- try {
49
- const redirectUri = isSilentSignin ? configuration.silent_redirect_uri : configuration.redirect_uri;
50
- if (!scope) {
51
- scope = configuration.scope;
52
- }
53
- const extraFinal = (_a = extras !== null && extras !== void 0 ? extras : configuration.extras) !== null && _a !== void 0 ? _a : {};
54
- if (!extraFinal.nonce) {
55
- extraFinal.nonce = randomString(12);
56
- }
57
- const nonce = { nonce: extraFinal.nonce };
58
- const serviceWorker = yield (0, initWorker_1.initWorkerAsync)(configuration.service_worker_relative_url, configurationName);
59
- const oidcServerConfiguration = yield initAsync(configuration.authority, configuration.authority_configuration);
60
- let storage;
61
- if (serviceWorker) {
62
- serviceWorker.setLoginParams(configurationName, { callbackPath: url, extras: originExtras, state });
63
- serviceWorker.startKeepAliveServiceWorker();
64
- yield serviceWorker.initAsync(oidcServerConfiguration, 'loginAsync', configuration);
65
- yield serviceWorker.setNonceAsync(nonce);
66
- storage = new memoryStorageBackend_1.MemoryStorageBackend(serviceWorker.saveItemsAsync, {});
67
- yield storage.setItem('dummy', {});
68
- }
69
- else {
70
- let session = (0, initSession_1.initSession)(configurationName, (_b = configuration.storage) !== null && _b !== void 0 ? _b : sessionStorage);
71
- session.setLoginParams(configurationName, { callbackPath: url, extras: originExtras, state });
72
- session = (0, initSession_1.initSession)(configurationName);
73
- yield session.setNonceAsync(nonce);
74
- storage = new memoryStorageBackend_1.MemoryStorageBackend(session.saveItemsAsync, {});
75
- }
76
- // @ts-ignore
77
- const queryStringUtil = redirectUri.includes('#') ? new noHashQueryStringUtils_1.HashQueryStringUtils() : new noHashQueryStringUtils_1.NoHashQueryStringUtils();
78
- const authorizationHandler = new appauth_1.RedirectRequestHandler(storage, queryStringUtil, window.location, new appauth_1.DefaultCrypto());
79
- const authRequest = new appauth_1.AuthorizationRequest({
80
- client_id: configuration.client_id,
81
- redirect_uri: redirectUri,
82
- scope,
83
- response_type: appauth_1.AuthorizationRequest.RESPONSE_TYPE_CODE,
84
- state,
85
- extras: extraFinal,
86
- });
87
- authorizationHandler.performAuthorizationRequest(oidcServerConfiguration, authRequest);
88
- }
89
- catch (exception) {
90
- publishEvent(events_1.eventNames.loginAsync_error, exception);
91
- throw exception;
92
- }
93
- });
94
- return loginLocalAsync();
95
- };
96
- exports.defaultLoginAsync = defaultLoginAsync;
97
- // eslint-disable-next-line @typescript-eslint/ban-types
98
- const defaultSilentLoginAsync2 = (window, configurationName, configuration, publishEvent, oidc) => (extras = null, scope = undefined) => {
99
- extras = Object.assign({}, extras);
100
- const loginLocalAsync = () => __awaiter(void 0, void 0, void 0, function* () {
101
- var _a;
102
- let state;
103
- if (extras && 'state' in extras) {
104
- state = extras.state;
105
- delete extras.state;
106
- }
107
- try {
108
- const extraFinal = (_a = extras !== null && extras !== void 0 ? extras : configuration.extras) !== null && _a !== void 0 ? _a : {};
109
- const silentResult = yield oidc.silentLoginAsync(Object.assign(Object.assign({}, extraFinal), { prompt: 'none' }), state, scope);
110
- if (silentResult) {
111
- oidc.tokens = silentResult.tokens;
112
- publishEvent(events_1.eventNames.token_aquired, {});
113
- // @ts-ignore
114
- this.timeoutId = autoRenewTokens(this, this.tokens.refreshToken, this.tokens.expiresAt, extras);
115
- return {};
116
- }
117
- }
118
- catch (e) {
119
- return e;
120
- }
121
- });
122
- return loginLocalAsync();
123
- };
124
- exports.defaultSilentLoginAsync2 = defaultSilentLoginAsync2;
125
- //# sourceMappingURL=login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/oidc/vanilla/login.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { Tokens } from './parseTokens';
2
- import { OidcConfiguration, StringMap } from './types';
3
- declare type SilentLoginResponse = {
4
- tokens: Tokens;
5
- };
6
- declare const silentLoginAsync: (configurationName: string, configuration: OidcConfiguration, publishEvent: Function) => (extras?: StringMap, state?: string, scope?: string) => Promise<SilentLoginResponse>;
7
- export default silentLoginAsync;
8
- //# sourceMappingURL=silentLogin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"silentLogin.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/silentLogin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEvD,aAAK,mBAAmB,GAAG;IACvB,MAAM,EAAC,MAAM,CAAC;CACjB,CAAC;AAGF,QAAA,MAAM,gBAAgB,sBAAsB,MAAM,iBAAgB,iBAAiB,gBAAe,QAAQ,eAAa,SAAS,UAAe,MAAM,UAAe,MAAM,KAAS,QAAQ,mBAAmB,CA0F7M,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const events_1 = require("./events");
4
- // eslint-disable-next-line @typescript-eslint/ban-types
5
- const silentLoginAsync = (configurationName, configuration, publishEvent) => (extras = null, state = null, scope = null) => {
6
- if (!configuration.silent_redirect_uri || !configuration.silent_login_uri) {
7
- return Promise.resolve(null);
8
- }
9
- try {
10
- publishEvent(events_1.eventNames.silentLoginAsync_begin, {});
11
- let queries = '';
12
- if (state) {
13
- if (extras == null) {
14
- extras = {};
15
- }
16
- extras.state = state;
17
- }
18
- if (scope) {
19
- if (extras == null) {
20
- extras = {};
21
- }
22
- extras.scope = scope;
23
- }
24
- if (extras != null) {
25
- for (const [key, value] of Object.entries(extras)) {
26
- if (queries === '') {
27
- queries = `?${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
28
- }
29
- else {
30
- queries += `&${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
31
- }
32
- }
33
- }
34
- const link = configuration.silent_login_uri + queries;
35
- const idx = link.indexOf('/', link.indexOf('//') + 2);
36
- const iFrameOrigin = link.substr(0, idx);
37
- const iframe = document.createElement('iframe');
38
- iframe.width = '0px';
39
- iframe.height = '0px';
40
- iframe.id = `${configurationName}_oidc_iframe`;
41
- iframe.setAttribute('src', link);
42
- document.body.appendChild(iframe);
43
- return new Promise((resolve, reject) => {
44
- try {
45
- let isResolved = false;
46
- window.onmessage = (e) => {
47
- if (e.origin === iFrameOrigin &&
48
- e.source === iframe.contentWindow) {
49
- const key = `${configurationName}_oidc_tokens:`;
50
- const key_error = `${configurationName}_oidc_error:`;
51
- const data = e.data;
52
- if (data && typeof (data) === 'string') {
53
- if (!isResolved) {
54
- if (data.startsWith(key)) {
55
- const result = JSON.parse(e.data.replace(key, ''));
56
- publishEvent(events_1.eventNames.silentLoginAsync_end, {});
57
- iframe.remove();
58
- isResolved = true;
59
- resolve(result);
60
- }
61
- else if (data.startsWith(key_error)) {
62
- const result = JSON.parse(e.data.replace(key_error, ''));
63
- publishEvent(events_1.eventNames.silentLoginAsync_error, result);
64
- iframe.remove();
65
- isResolved = true;
66
- reject(new Error('oidc_' + result.error));
67
- }
68
- }
69
- }
70
- }
71
- };
72
- const silentSigninTimeout = configuration.silent_login_timeout;
73
- setTimeout(() => {
74
- if (!isResolved) {
75
- publishEvent(events_1.eventNames.silentLoginAsync_error, { reason: 'timeout' });
76
- iframe.remove();
77
- isResolved = true;
78
- reject(new Error('timeout'));
79
- }
80
- }, silentSigninTimeout);
81
- }
82
- catch (e) {
83
- iframe.remove();
84
- publishEvent(events_1.eventNames.silentLoginAsync_error, e);
85
- reject(e);
86
- }
87
- });
88
- }
89
- catch (e) {
90
- publishEvent(events_1.eventNames.silentLoginAsync_error, e);
91
- throw e;
92
- }
93
- };
94
- exports.default = silentLoginAsync;
95
- //# sourceMappingURL=silentLogin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"silentLogin.js","sourceRoot":"","sources":["../../src/oidc/vanilla/silentLogin.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- export declare type OidcConfiguration = {
2
- client_id: string;
3
- redirect_uri: string;
4
- silent_redirect_uri?: string;
5
- silent_login_uri?: string;
6
- silent_login_timeout?: number;
7
- scope: string;
8
- authority: string;
9
- authority_time_cache_wellknowurl_in_second?: number;
10
- authority_configuration?: AuthorityConfiguration;
11
- refresh_time_before_tokens_expiration_in_second?: number;
12
- token_request_timeout?: number;
13
- service_worker_relative_url?: string;
14
- service_worker_only?: boolean;
15
- extras?: StringMap;
16
- token_request_extras?: StringMap;
17
- storage?: Storage;
18
- monitor_session?: boolean;
19
- token_renew_mode?: string;
20
- };
21
- export interface StringMap {
22
- [key: string]: string;
23
- }
24
- export interface AuthorityConfiguration {
25
- authorization_endpoint: string;
26
- token_endpoint: string;
27
- revocation_endpoint: string;
28
- end_session_endpoint?: string;
29
- userinfo_endpoint?: string;
30
- check_session_iframe?: string;
31
- issuer: string;
32
- }
33
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/types.ts"],"names":[],"mappings":"AACA,oBAAY,iBAAiB,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAC,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAC,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAC,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C,CAAC,EAAE,MAAM,CAAC;IACpD,uBAAuB,CAAC,EAAE,sBAAsB,CAAC;IACjD,+CAA+C,CAAC,EAAE,MAAM,CAAC;IACzD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2BAA2B,CAAC,EAAC,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAC,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAC,SAAS,CAAC;IAClB,oBAAoB,CAAC,EAAC,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAC,MAAM,CAAC;IAC7B,MAAM,EAAC,MAAM,CAAC;CACjB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/oidc/vanilla/types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare const userInfoAsync: (oidc: any) => Promise<any>;
2
- //# sourceMappingURL=user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/user.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,6BAmCzB,CAAC"}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.userInfoAsync = void 0;
13
- const initWorker_1 = require("./initWorker");
14
- const parseTokens_1 = require("./parseTokens");
15
- const userInfoAsync = (oidc) => __awaiter(void 0, void 0, void 0, function* () {
16
- if (oidc.userInfo != null) {
17
- return oidc.userInfo;
18
- }
19
- if (!oidc.tokens) {
20
- return null;
21
- }
22
- const accessToken = oidc.tokens.accessToken;
23
- if (!accessToken) {
24
- return null;
25
- }
26
- // We wait the synchronisation before making a request
27
- while (oidc.tokens && !(0, parseTokens_1.isTokensValid)(oidc.tokens)) {
28
- yield (0, initWorker_1.sleepAsync)(200);
29
- }
30
- const oidcServerConfiguration = yield oidc.initAsync(oidc.configuration.authority, oidc.configuration.authority_configuration);
31
- const url = oidcServerConfiguration.userInfoEndpoint;
32
- const fetchUserInfo = (accessToken) => __awaiter(void 0, void 0, void 0, function* () {
33
- const res = yield fetch(url, {
34
- headers: {
35
- authorization: `Bearer ${accessToken}`,
36
- },
37
- });
38
- if (res.status !== 200) {
39
- return null;
40
- }
41
- return res.json();
42
- });
43
- const userInfo = yield fetchUserInfo(accessToken);
44
- oidc.userInfo = userInfo;
45
- return userInfo;
46
- });
47
- exports.userInfoAsync = userInfoAsync;
48
- //# sourceMappingURL=user.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/oidc/vanilla/user.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA0C;AAC1C,+CAA8C;AAEvC,MAAM,aAAa,GAAG,CAAO,IAAI,EAAE,EAAE;IACxC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACd,OAAO,IAAI,CAAC;KACf;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IAC5C,IAAI,CAAC,WAAW,EAAE;QACd,OAAO,IAAI,CAAC;KACf;IAED,sDAAsD;IACtD,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAA,2BAAa,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC/C,MAAM,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC;KACzB;IAED,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC/H,MAAM,GAAG,GAAG,uBAAuB,CAAC,gBAAgB,CAAC;IACrD,MAAM,aAAa,GAAG,CAAO,WAAW,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACzB,OAAO,EAAE;gBACL,aAAa,EAAE,UAAU,WAAW,EAAE;aACzC;SACJ,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;YACpB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC,CAAA,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzB,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA,CAAC;AAnCW,QAAA,aAAa,iBAmCxB"}
@@ -1,55 +0,0 @@
1
- import { CheckSessionIFrame } from './checkSessionIFrame';
2
- import { Tokens } from './parseTokens';
3
- import { OidcConfiguration } from './types';
4
-
5
- // eslint-disable-next-line @typescript-eslint/ban-types
6
- export const startCheckSessionAsync = (oidcDatabase:any, configuration :OidcConfiguration, checkSessionIFrame: CheckSessionIFrame, silentLoginAsync:Function, getCurrentTokens: () => Tokens) => (checkSessionIFrameUri, clientId, sessionState, isSilentSignin = false) => {
7
- return new Promise<CheckSessionIFrame>((resolve, reject): void => {
8
- if (configuration.silent_login_uri && configuration.silent_redirect_uri && configuration.monitor_session && checkSessionIFrameUri && sessionState && !isSilentSignin) {
9
- const checkSessionCallback = () => {
10
- checkSessionIFrame.stop();
11
- const tokens = getCurrentTokens();
12
- if (tokens === null) {
13
- return;
14
- }
15
- const idToken = tokens.idToken;
16
- const idTokenPayload = tokens.idTokenPayload;
17
- silentLoginAsync({
18
- prompt: 'none',
19
- id_token_hint: idToken,
20
- scope: 'openid',
21
- }).then((silentSigninResponse) => {
22
- const iFrameIdTokenPayload = silentSigninResponse.tokens.idTokenPayload;
23
- if (idTokenPayload.sub === iFrameIdTokenPayload.sub) {
24
- const sessionState = silentSigninResponse.sessionState;
25
- checkSessionIFrame.start(silentSigninResponse.sessionState);
26
- if (idTokenPayload.sid === iFrameIdTokenPayload.sid) {
27
- console.debug('SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:', sessionState);
28
- } else {
29
- console.debug('SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:', sessionState);
30
- }
31
- } else {
32
- console.debug('SessionMonitor._callback: Different subject signed into OP:', iFrameIdTokenPayload.sub);
33
- }
34
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
35
- }).catch(async (e) => {
36
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
37
- for (const [key, oidc] of Object.entries(oidcDatabase)) {
38
- // @ts-ignore
39
- await oidc.logoutOtherTabAsync(this.configuration.client_id, idTokenPayload.sub);
40
- }
41
- });
42
- };
43
-
44
- checkSessionIFrame = new CheckSessionIFrame(checkSessionCallback, clientId, checkSessionIFrameUri);
45
- checkSessionIFrame.load().then(() => {
46
- checkSessionIFrame.start(sessionState);
47
- resolve(checkSessionIFrame);
48
- }).catch((e) => {
49
- reject(e);
50
- });
51
- } else {
52
- resolve(null);
53
- }
54
- });
55
- };
@@ -1,29 +0,0 @@
1
-
2
- export const eventNames = {
3
- service_worker_not_supported_by_browser: 'service_worker_not_supported_by_browser',
4
- token_aquired: 'token_aquired',
5
- logout_from_another_tab: 'logout_from_another_tab',
6
- logout_from_same_tab: 'logout_from_same_tab',
7
- token_renewed: 'token_renewed',
8
- token_timer: 'token_timer',
9
- loginAsync_begin: 'loginAsync_begin',
10
- loginAsync_error: 'loginAsync_error',
11
- loginCallbackAsync_begin: 'loginCallbackAsync_begin',
12
- loginCallbackAsync_end: 'loginCallbackAsync_end',
13
- loginCallbackAsync_error: 'loginCallbackAsync_error',
14
- refreshTokensAsync_begin: 'refreshTokensAsync_begin',
15
- refreshTokensAsync: 'refreshTokensAsync',
16
- refreshTokensAsync_end: 'refreshTokensAsync_end',
17
- refreshTokensAsync_error: 'refreshTokensAsync_error',
18
- refreshTokensAsync_silent_error: 'refreshTokensAsync_silent_error',
19
- tryKeepExistingSessionAsync_begin: 'tryKeepExistingSessionAsync_begin',
20
- tryKeepExistingSessionAsync_end: 'tryKeepExistingSessionAsync_end',
21
- tryKeepExistingSessionAsync_error: 'tryKeepExistingSessionAsync_error',
22
- silentLoginAsync_begin: 'silentLoginAsync_begin',
23
- silentLoginAsync: 'silentLoginAsync',
24
- silentLoginAsync_end: 'silentLoginAsync_end',
25
- silentLoginAsync_error: 'silentLoginAsync_error',
26
- syncTokensAsync_begin: 'syncTokensAsync_begin',
27
- syncTokensAsync_end: 'syncTokensAsync_end',
28
- syncTokensAsync_error: 'syncTokensAsync_error',
29
- };