@axa-fr/react-oidc 6.8.0 → 6.8.2
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/vanilla/oidc.js +1 -1
- package/dist/vanilla/oidc.js.map +1 -1
- package/dist/vanilla/parseTokens.d.ts +9 -0
- package/dist/vanilla/parseTokens.d.ts.map +1 -1
- package/dist/vanilla/parseTokens.js +25 -1
- package/dist/vanilla/parseTokens.js.map +1 -1
- package/dist/vanilla/vanillaOidc.d.ts +1 -6
- package/dist/vanilla/vanillaOidc.d.ts.map +1 -1
- package/dist/vanilla/vanillaOidc.js +1 -13
- package/dist/vanilla/vanillaOidc.js.map +1 -1
- package/package.json +1 -1
- package/src/oidc/vanilla/oidc.ts +1 -1
- package/src/oidc/vanilla/parseTokens.spec.ts +48 -0
- package/src/oidc/vanilla/parseTokens.ts +28 -1
- package/src/oidc/vanilla/vanillaOidc.ts +2 -18
package/dist/vanilla/oidc.js
CHANGED
|
@@ -1126,7 +1126,7 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
1126
1126
|
if (revocationEndpoint) {
|
|
1127
1127
|
const promises = [];
|
|
1128
1128
|
if (this.tokens.accessToken) {
|
|
1129
|
-
const revokeAccessTokenPromise = performRevocationRequestAsync(revocationEndpoint, this.tokens.accessToken, TOKEN_TYPE.
|
|
1129
|
+
const revokeAccessTokenPromise = performRevocationRequestAsync(revocationEndpoint, this.tokens.accessToken, TOKEN_TYPE.access_token, configuration.client_id);
|
|
1130
1130
|
promises.push(revokeAccessTokenPromise);
|
|
1131
1131
|
}
|
|
1132
1132
|
if (this.tokens.refreshToken) {
|
package/dist/vanilla/oidc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,5 +11,14 @@ export declare const setTokens: (tokens: any, oldTokens?: any) => Tokens;
|
|
|
11
11
|
export declare const parseOriginalTokens: (tokens: any, oldTokens: any) => Tokens;
|
|
12
12
|
export declare const computeTimeLeft: (refreshTimeBeforeTokensExpirationInSecond: any, expiresAt: any) => number;
|
|
13
13
|
export declare const isTokensValid: (tokens: any) => boolean;
|
|
14
|
+
export declare type ValidToken = {
|
|
15
|
+
isTokensValid: Boolean;
|
|
16
|
+
tokens: Tokens;
|
|
17
|
+
numberWaited: Number;
|
|
18
|
+
};
|
|
19
|
+
export interface OidcToken {
|
|
20
|
+
tokens?: Tokens;
|
|
21
|
+
}
|
|
22
|
+
export declare const getValidTokenAsync: (oidc: OidcToken, waitMs?: number, numberWait?: number) => Promise<ValidToken>;
|
|
14
23
|
export declare const isTokensOidcValid: (tokens: any, nonce: any, oidcServerConfiguration: any) => boolean;
|
|
15
24
|
//# sourceMappingURL=parseTokens.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTokens.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parseTokens.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":"AA4BA,oBAAY,MAAM,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAC,GAAG,CAAC;IACnB,OAAO,EAAC,MAAM,CAAC;IACf,kBAAkB,EAAC,GAAG,CAAC;IACvB,WAAW,EAAC,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAC;AAEF,eAAO,MAAM,SAAS,oCAA4B,MAgCjD,CAAA;AAID,eAAO,MAAM,mBAAmB,yCAmC/B,CAAA;AAED,eAAO,MAAM,eAAe,4EAG3B,CAAA;AAED,eAAO,MAAM,aAAa,0BAKzB,CAAA;AAGD,oBAAY,UAAU,GAAG;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,WAAW,SAAS;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,SAAgB,SAAS,2CAAkC,QAAQ,UAAU,CAY3G,CAAA;AAID,eAAO,MAAM,iBAAiB,oEA2B7B,CAAA"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
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
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isTokensOidcValid = exports.isTokensValid = exports.computeTimeLeft = exports.parseOriginalTokens = exports.setTokens = void 0;
|
|
12
|
+
exports.isTokensOidcValid = exports.getValidTokenAsync = exports.isTokensValid = exports.computeTimeLeft = exports.parseOriginalTokens = exports.setTokens = void 0;
|
|
13
|
+
const initWorker_1 = require("./initWorker");
|
|
4
14
|
const b64DecodeUnicode = (str) => decodeURIComponent(Array.prototype.map.call(atob(str), (c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));
|
|
5
15
|
const parseJwt = (token) => JSON.parse(b64DecodeUnicode(token.split('.')[1].replace('-', '+').replace('_', '/')));
|
|
6
16
|
const extractTokenPayload = (token) => {
|
|
@@ -94,6 +104,20 @@ const isTokensValid = (tokens) => {
|
|
|
94
104
|
return (0, exports.computeTimeLeft)(0, tokens.expiresAt) > 0;
|
|
95
105
|
};
|
|
96
106
|
exports.isTokensValid = isTokensValid;
|
|
107
|
+
const getValidTokenAsync = (oidc, waitMs = 200, numberWait = 50) => __awaiter(void 0, void 0, void 0, function* () {
|
|
108
|
+
let numberWaitTemp = numberWait;
|
|
109
|
+
while (!(0, exports.isTokensValid)(oidc.tokens) && numberWaitTemp > 0) {
|
|
110
|
+
yield (0, initWorker_1.sleepAsync)(200);
|
|
111
|
+
numberWaitTemp = numberWaitTemp - 1;
|
|
112
|
+
}
|
|
113
|
+
const isValid = (0, exports.isTokensValid)(oidc.tokens);
|
|
114
|
+
return {
|
|
115
|
+
isTokensValid: isValid,
|
|
116
|
+
tokens: oidc.tokens,
|
|
117
|
+
numberWaited: numberWaitTemp - numberWait
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
exports.getValidTokenAsync = getValidTokenAsync;
|
|
97
121
|
// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation (excluding rules #1, #4, #5, #7, #8, #12, and #13 which did not apply).
|
|
98
122
|
// https://github.com/openid/AppAuth-JS/issues/65
|
|
99
123
|
const isTokensOidcValid = (tokens, nonce, oidcServerConfiguration) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTokens.js","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parseTokens.js","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAwC;AAIxC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,EAAE,CAC7B,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACnI,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAElH,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,EAAE;IAClC,IAAG;QACC,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,IAAI,CAAC;SACf;QACD,IAAG,WAAW,CAAC,KAAK,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC1B;aAAM;YACH,OAAO,IAAI,CAAC;SACf;KACJ;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,IAAI,EAAC,EAAE;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACxC,CAAC,CAAA;AAYM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,SAAS,GAAC,IAAI,EAAS,EAAE;IAEvD,IAAG,CAAC,MAAM,EAAC;QACP,OAAO,IAAI,CAAC;KACf;IACD,IAAI,kBAAkB,CAAC;IAEvB,IAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;QACjB,MAAM,qBAAqB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAE,IAAI,CAAC;QACzD,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC;KAC3C;IAED,IAAG,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE;QACxC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;KAClD;SACI;QACD,kBAAkB,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KAChE;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5G,MAAM,eAAe,GAAE,CAAC,eAAe,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAA,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACxG,MAAM,oBAAoB,GAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAC1I,MAAM,SAAS,GAAG,eAAe,GAAG,oBAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAElG,MAAM,SAAS,mCAAO,MAAM,KAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,SAAS,GAAC,CAAC;IAC9F,+DAA+D;IAC/D,IAAG,SAAS,IAAI,IAAI,IAAI,cAAc,IAAI,SAAS,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,EAAC;QAC/E,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAA;QAC3C,uCAAW,SAAS,KAAE,YAAY,IAAE;KACvC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA;AAhCY,QAAA,SAAS,aAgCrB;AAIM,MAAM,mBAAmB,GAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;IACpD,IAAG,CAAC,MAAM,EAAC;QACP,OAAO,IAAI,CAAC;KACf;IACD,IAAG,CAAC,MAAM,CAAC,SAAS,EAAE;QAClB,MAAM,qBAAqB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAE,IAAI,CAAC;QACzD,MAAM,CAAC,SAAS,GAAG,qBAAqB,CAAC;KAC5C;IAED,MAAM,IAAI,GAAG;QACT,WAAW,EAAE,MAAM,CAAC,YAAY;QAChC,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,OAAO,EAAE,MAAM,CAAC,QAAQ;QACxB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,QAAQ,EAAE,MAAM,CAAC,SAAS;KAC7B,CAAC;IAEF,IAAG,eAAe,IAAI,MAAM,EAAE;QAC1B,aAAa;QACb,IAAI,CAAC,YAAY,GAAE,MAAM,CAAC,aAAa,CAAC;KAC3C;IAGD,IAAG,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAC;QACvC,aAAa;QACb,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;KACvD;IAED,IAAG,MAAM,CAAC,cAAc,KAAK,SAAS,EAAC;QACnC,aAAa;QACb,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;KAC/C;IAED,OAAO,IAAA,iBAAS,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACtC,CAAC,CAAA;AAnCY,QAAA,mBAAmB,uBAmC/B;AAEM,MAAM,eAAe,GAAG,CAAC,yCAAyC,EAAE,SAAS,EAAC,EAAE;IACnF,MAAM,qBAAqB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAE,IAAI,CAAC;IACzD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,yCAAyC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;AACzG,CAAC,CAAA;AAHY,QAAA,eAAe,mBAG3B;AAEM,MAAM,aAAa,GAAE,CAAC,MAAM,EAAE,EAAE;IACnC,IAAG,CAAC,MAAM,EAAC;QACP,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,IAAA,uBAAe,EAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC,CAAA;AALY,QAAA,aAAa,iBAKzB;AAaM,MAAM,kBAAkB,GAAG,CAAO,IAAe,EAAE,MAAM,GAAG,GAAG,EAAE,UAAU,GAAG,EAAE,EAAuB,EAAE;IAC5G,IAAI,cAAc,GAAG,UAAU,CAAC;IAChC,OAAO,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE;QACtD,MAAM,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC;QACtB,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC;KACvC;IACD,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO;QACH,aAAa,EAAE,OAAO;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,YAAY,EAAE,cAAc,GAAG,UAAU;KAC5C,CAAC;AACN,CAAC,CAAA,CAAA;AAZY,QAAA,kBAAkB,sBAY9B;AAED,kJAAkJ;AAClJ,iDAAiD;AAC1C,MAAM,iBAAiB,GAAE,CAAC,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE;IACvE,IAAG,MAAM,CAAC,cAAc,EAAE;QACtB,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC7C,0JAA0J;QAC1J,IAAG,uBAAuB,CAAC,MAAM,KAAM,cAAc,CAAC,GAAG,EAAC;YACtD,OAAO,KAAK,CAAC;SAChB;QACD,+YAA+Y;QAE/Y,gbAAgb;QAEhb,4EAA4E;QAC5E,MAAM,qBAAqB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAE,IAAI,CAAC;QACzD,IAAG,cAAc,CAAC,GAAG,IAAI,cAAc,CAAC,GAAG,GAAG,qBAAqB,EAAE;YACjE,OAAO,KAAK,CAAC;SAChB;QACD,6NAA6N;QAC7N,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzC,IAAG,cAAc,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG,qBAAqB,EAAE;YACrF,OAAO,KAAK,CAAC;SAChB;QACD,+UAA+U;QAC/U,IAAI,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,KAAK,KAAK,EAAE;YACxD,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AA3BY,QAAA,iBAAiB,qBA2B7B"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { LoginCallback, Oidc, OidcConfiguration, StringMap } from "./oidc";
|
|
2
|
+
import { ValidToken } from "./parseTokens";
|
|
2
3
|
import { Tokens } from "./parseTokens";
|
|
3
|
-
declare type ValidToken = {
|
|
4
|
-
isTokensValid: Boolean;
|
|
5
|
-
tokens: Tokens;
|
|
6
|
-
numberWaited: Number;
|
|
7
|
-
};
|
|
8
4
|
export declare class VanillaOidc {
|
|
9
5
|
private _oidc;
|
|
10
6
|
constructor(oidc: Oidc);
|
|
@@ -52,5 +48,4 @@ export declare class VanillaOidc {
|
|
|
52
48
|
getValidTokenAsync(waitMs?: number, numberWait?: number): Promise<ValidToken>;
|
|
53
49
|
userInfoAsync(): Promise<any>;
|
|
54
50
|
}
|
|
55
|
-
export {};
|
|
56
51
|
//# sourceMappingURL=vanillaOidc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vanillaOidc.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/vanillaOidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"vanillaOidc.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/vanillaOidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAC,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAoC,UAAU,EAAC,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,qBAAa,WAAW;IACpB,OAAO,CAAC,KAAK,CAAO;gBACR,IAAI,EAAE,IAAI;IAGtB,eAAe,CAAC,IAAI,EAAC,QAAQ,GAAE,MAAM;IAGrC,uBAAuB,CAAC,EAAE,EAAC,MAAM,GAAE,IAAI;IAGvC,YAAY,CAAC,SAAS,EAAC,MAAM,EAAE,IAAI,EAAC,GAAG,GAAI,IAAI;IAG/C,MAAM,CAAC,WAAW,CAAC,aAAa,EAAC,iBAAiB,EAAE,IAAI,GAAC,MAAgB,GAAE,WAAW;IAGtF,MAAM,CAAC,GAAG,CAAC,IAAI,GAAC,MAAgB,GAAE,WAAW;IAG7C,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAmB;IACpC,2BAA2B,IAAG,OAAO,CAAC,OAAO,CAAC;IAG9C,UAAU,CAAC,YAAY,GAAC,MAAgB,EAAE,MAAM,GAAC,SAAc,EAAE,cAAc,GAAC,OAAa,EAAE,KAAK,GAAC,MAAgB,EAAE,eAAe,UAAQ,GAAE,OAAO,CAAC,IAAI,CAAC;IAG7J,WAAW,CAAC,iBAAiB,GAAE,MAAM,GAAG,IAAI,GAAG,SAAqB,EAAE,MAAM,GAAE,SAAgB,GAAE,OAAO,CAAC,IAAI,CAAC;IAG7G,wBAAwB,IAAG,OAAO,CAAC,GAAG,CAAC;IAGvC,gBAAgB,CAAC,MAAM,GAAC,SAAc,GAAE,OAAO,CAAC,IAAI,CAAC;IAGrD,kBAAkB,IAAG,OAAO,CAAC,aAAa,CAAC;IAG3C,IAAI,MAAM,IAAG,MAAM,CAElB;IACD,IAAI,aAAa,IAAG,iBAAiB,CAEpC;IACK,kBAAkB,CAAC,MAAM,SAAI,EAAE,UAAU,SAAG,GAAI,OAAO,CAAC,UAAU,CAAC;IAGnE,aAAa,IAAG,OAAO,CAAC,GAAG,CAAC;CAGrC"}
|
|
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.VanillaOidc = void 0;
|
|
13
13
|
const oidc_1 = require("./oidc");
|
|
14
14
|
const parseTokens_1 = require("./parseTokens");
|
|
15
|
-
const initWorker_1 = require("./initWorker");
|
|
16
15
|
class VanillaOidc {
|
|
17
16
|
constructor(oidc) {
|
|
18
17
|
this._oidc = oidc;
|
|
@@ -59,18 +58,7 @@ class VanillaOidc {
|
|
|
59
58
|
}
|
|
60
59
|
getValidTokenAsync(waitMs = 200, numberWait = 50) {
|
|
61
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
|
|
63
|
-
let numberWaitTemp = numberWait;
|
|
64
|
-
while (oidc.tokens && !(0, parseTokens_1.isTokensValid)(oidc.tokens) && numberWaitTemp > 0) {
|
|
65
|
-
yield (0, initWorker_1.sleepAsync)(200);
|
|
66
|
-
numberWaitTemp = numberWaitTemp - 1;
|
|
67
|
-
}
|
|
68
|
-
const isValid = !(0, parseTokens_1.isTokensValid)(oidc.tokens);
|
|
69
|
-
return {
|
|
70
|
-
isTokensValid: isValid,
|
|
71
|
-
tokens: oidc.tokens,
|
|
72
|
-
numberWaited: numberWaitTemp - numberWait
|
|
73
|
-
};
|
|
61
|
+
return (0, parseTokens_1.getValidTokenAsync)(this._oidc, waitMs, numberWait);
|
|
74
62
|
});
|
|
75
63
|
}
|
|
76
64
|
userInfoAsync() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vanillaOidc.js","sourceRoot":"","sources":["../../src/oidc/vanilla/vanillaOidc.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAyE;AACzE,+
|
|
1
|
+
{"version":3,"file":"vanillaOidc.js","sourceRoot":"","sources":["../../src/oidc/vanilla/vanillaOidc.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAyE;AACzE,+CAA4E;AAK5E,MAAa,WAAW;IAEpB,YAAY,IAAU;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,eAAe,CAAC,IAAa;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,uBAAuB,CAAC,EAAS;QAC7B,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,YAAY,CAAC,SAAgB,EAAE,IAAQ;QACnC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,aAA+B,EAAE,OAAY,SAAS;QACrE,OAAO,IAAI,WAAW,CAAC,WAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,OAAY,SAAS;QAC5B,OAAO,IAAI,WAAW,CAAC,WAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,2BAA2B;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;IACpD,CAAC;IACD,UAAU,CAAC,eAAoB,SAAS,EAAE,SAAiB,IAAI,EAAE,iBAAuB,KAAK,EAAE,QAAa,SAAS,EAAE,eAAe,GAAG,KAAK;QAC1I,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IAC/F,CAAC;IACD,WAAW,CAAC,oBAA+C,SAAS,EAAE,SAAoB,IAAI;QAC1F,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IACD,wBAAwB;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;IACjD,CAAC;IAAA,CAAC;IACF,gBAAgB,CAAC,SAAiB,IAAI;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,kBAAkB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC;IAC9D,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IACpC,CAAC;IACK,kBAAkB,CAAC,MAAM,GAAC,GAAG,EAAE,UAAU,GAAC,EAAE;;YAC9C,OAAO,IAAA,gCAAkB,EAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC;KAAA;IACK,aAAa;;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC;KAAA;;AAlDL,kCAmDC;AA/BU,sBAAU,GAAG,WAAI,CAAC,UAAU,CAAC"}
|
package/package.json
CHANGED
package/src/oidc/vanilla/oidc.ts
CHANGED
|
@@ -1219,7 +1219,7 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
1219
1219
|
if (revocationEndpoint) {
|
|
1220
1220
|
const promises = [];
|
|
1221
1221
|
if (this.tokens.accessToken) {
|
|
1222
|
-
const revokeAccessTokenPromise = performRevocationRequestAsync(revocationEndpoint, this.tokens.accessToken, TOKEN_TYPE.
|
|
1222
|
+
const revokeAccessTokenPromise = performRevocationRequestAsync(revocationEndpoint, this.tokens.accessToken, TOKEN_TYPE.access_token, configuration.client_id);
|
|
1223
1223
|
promises.push(revokeAccessTokenPromise);
|
|
1224
1224
|
}
|
|
1225
1225
|
if (this.tokens.refreshToken) {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import {getValidTokenAsync, isTokensOidcValid} from "./parseTokens";
|
|
2
|
+
|
|
3
|
+
describe('ParseTokens test Suite', () => {
|
|
4
|
+
const currentTimeUnixSecond = new Date().getTime() / 1000;
|
|
5
|
+
describe.each([
|
|
6
|
+
[currentTimeUnixSecond + 120, currentTimeUnixSecond - 10, true],
|
|
7
|
+
[currentTimeUnixSecond - 20, currentTimeUnixSecond - 50, false],
|
|
8
|
+
])('getValidTokenAsync', (expiresAt, issuedAt, expectIsValidToken) => {
|
|
9
|
+
it('should getValidTokenAsync wait and return value', async () => {
|
|
10
|
+
const oidc = {
|
|
11
|
+
tokens: {
|
|
12
|
+
refreshToken: 'youhou',
|
|
13
|
+
idTokenPayload: null,
|
|
14
|
+
idToken: 'youhou',
|
|
15
|
+
accessTokenPayload: null,
|
|
16
|
+
accessToken: 'youhou',
|
|
17
|
+
expiresAt: expiresAt,
|
|
18
|
+
issuedAt: issuedAt,
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const result = await getValidTokenAsync(oidc, 1, 1);
|
|
22
|
+
expect(result.isTokensValid).toEqual(expectIsValidToken);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
const idTokenPayload = {iss: "toto", exp: currentTimeUnixSecond +900, iat: currentTimeUnixSecond -900, nonce: "nonce"};
|
|
28
|
+
const oidcServerConfiguration = {issuer:"toto"};
|
|
29
|
+
const idTokenPayloadExpired = {...idTokenPayload, exp: currentTimeUnixSecond-20};
|
|
30
|
+
const idTokenPayloadIssuedTooLongTimeAgo = {...idTokenPayload, iat: currentTimeUnixSecond-20000000};
|
|
31
|
+
|
|
32
|
+
describe.each([
|
|
33
|
+
[idTokenPayload, "nonce", oidcServerConfiguration, true, "success"],
|
|
34
|
+
[idTokenPayload, "other_nonce", oidcServerConfiguration, false, "bad nonce"],
|
|
35
|
+
[idTokenPayload, "nonce", {issuer:"tutu"}, false, "different issuer"],
|
|
36
|
+
[idTokenPayloadExpired, "nonce", oidcServerConfiguration, false, "id token expired issuer"],
|
|
37
|
+
[idTokenPayloadIssuedTooLongTimeAgo, "nonce", oidcServerConfiguration, false, "id token expired issuer"],
|
|
38
|
+
])('isTokensOidcValid', (idTokenPayload, nonce, oidcServerConfiguration, expectIsValidToken, status) => {
|
|
39
|
+
it('should isTokensOidcValid return ' + status, async () => {
|
|
40
|
+
const oidc = {
|
|
41
|
+
idTokenPayload
|
|
42
|
+
}
|
|
43
|
+
const isValid = await isTokensOidcValid(oidc, nonce, oidcServerConfiguration);
|
|
44
|
+
expect(isValid).toEqual(expectIsValidToken);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
});
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import {sleepAsync} from "./initWorker";
|
|
2
|
+
import Oidc from "./oidc";
|
|
3
|
+
|
|
2
4
|
|
|
3
5
|
const b64DecodeUnicode = (str) =>
|
|
4
6
|
decodeURIComponent(Array.prototype.map.call(atob(str), (c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));
|
|
@@ -119,6 +121,31 @@ export const isTokensValid= (tokens) =>{
|
|
|
119
121
|
return computeTimeLeft(0, tokens.expiresAt) > 0;
|
|
120
122
|
}
|
|
121
123
|
|
|
124
|
+
|
|
125
|
+
export type ValidToken = {
|
|
126
|
+
isTokensValid: Boolean,
|
|
127
|
+
tokens: Tokens,
|
|
128
|
+
numberWaited: Number
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export interface OidcToken{
|
|
132
|
+
tokens?: Tokens;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export const getValidTokenAsync = async (oidc: OidcToken, waitMs = 200, numberWait = 50): Promise<ValidToken> => {
|
|
136
|
+
let numberWaitTemp = numberWait;
|
|
137
|
+
while (!isTokensValid(oidc.tokens) && numberWaitTemp > 0) {
|
|
138
|
+
await sleepAsync(200);
|
|
139
|
+
numberWaitTemp = numberWaitTemp - 1;
|
|
140
|
+
}
|
|
141
|
+
const isValid = isTokensValid(oidc.tokens);
|
|
142
|
+
return {
|
|
143
|
+
isTokensValid: isValid,
|
|
144
|
+
tokens: oidc.tokens,
|
|
145
|
+
numberWaited: numberWaitTemp - numberWait
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
|
|
122
149
|
// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation (excluding rules #1, #4, #5, #7, #8, #12, and #13 which did not apply).
|
|
123
150
|
// https://github.com/openid/AppAuth-JS/issues/65
|
|
124
151
|
export const isTokensOidcValid =(tokens, nonce, oidcServerConfiguration) =>{
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import {LoginCallback, Oidc, OidcConfiguration, StringMap} from "./oidc";
|
|
2
|
-
import {isTokensValid} from "./parseTokens";
|
|
2
|
+
import {getValidTokenAsync, isTokensValid, ValidToken} from "./parseTokens";
|
|
3
3
|
import {sleepAsync} from "./initWorker";
|
|
4
4
|
import {Tokens} from "./parseTokens";
|
|
5
5
|
|
|
6
|
-
type ValidToken = {
|
|
7
|
-
isTokensValid: Boolean,
|
|
8
|
-
tokens: Tokens,
|
|
9
|
-
numberWaited: Number
|
|
10
|
-
}
|
|
11
6
|
|
|
12
7
|
export class VanillaOidc {
|
|
13
8
|
private _oidc: Oidc;
|
|
@@ -55,18 +50,7 @@ export class VanillaOidc {
|
|
|
55
50
|
return this._oidc.configuration;
|
|
56
51
|
}
|
|
57
52
|
async getValidTokenAsync(waitMs=200, numberWait=50 ): Promise<ValidToken> {
|
|
58
|
-
|
|
59
|
-
let numberWaitTemp = numberWait;
|
|
60
|
-
while (oidc.tokens && !isTokensValid(oidc.tokens) && numberWaitTemp > 0) {
|
|
61
|
-
await sleepAsync(200);
|
|
62
|
-
numberWaitTemp=numberWaitTemp-1;
|
|
63
|
-
}
|
|
64
|
-
const isValid = !isTokensValid(oidc.tokens);
|
|
65
|
-
return {
|
|
66
|
-
isTokensValid: isValid,
|
|
67
|
-
tokens: oidc.tokens,
|
|
68
|
-
numberWaited: numberWaitTemp - numberWait
|
|
69
|
-
};
|
|
53
|
+
return getValidTokenAsync(this._oidc, waitMs, numberWait);
|
|
70
54
|
}
|
|
71
55
|
async userInfoAsync():Promise<any>{
|
|
72
56
|
return this._oidc.userInfoAsync();
|