oidc-spa 6.15.1 → 7.0.1
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/README.md +12 -13
- package/core/Oidc.d.ts +24 -12
- package/core/createOidc.d.ts +15 -30
- package/core/createOidc.js +184 -146
- package/core/createOidc.js.map +1 -1
- package/core/handleOidcCallback.js +2 -29
- package/core/handleOidcCallback.js.map +1 -1
- package/core/loginOrGoToAuthServer.d.ts +1 -2
- package/core/loginOrGoToAuthServer.js +10 -10
- package/core/loginOrGoToAuthServer.js.map +1 -1
- package/core/loginSilent.d.ts +1 -1
- package/core/loginSilent.js +4 -4
- package/core/loginSilent.js.map +1 -1
- package/core/oidcClientTsUserToTokens.d.ts +1 -2
- package/core/oidcClientTsUserToTokens.js +93 -58
- package/core/oidcClientTsUserToTokens.js.map +1 -1
- package/mock/oidc.d.ts +1 -1
- package/mock/oidc.js +29 -19
- package/mock/oidc.js.map +1 -1
- package/package.json +1 -5
- package/react/react.d.ts +9 -14
- package/react/react.js +32 -60
- package/react/react.js.map +1 -1
- package/src/core/Oidc.ts +27 -14
- package/src/core/createOidc.ts +189 -149
- package/src/core/handleOidcCallback.ts +2 -55
- package/src/core/loginOrGoToAuthServer.ts +10 -11
- package/src/core/loginSilent.ts +4 -4
- package/src/core/oidcClientTsUserToTokens.ts +129 -82
- package/src/mock/oidc.ts +16 -6
- package/src/react/react.tsx +52 -80
- package/src/tools/readExpirationTimeInJwt.ts +4 -5
- package/src/tools/startCountdown.ts +4 -5
- package/tools/readExpirationTimeInJwt.js +4 -4
- package/tools/readExpirationTimeInJwt.js.map +1 -1
- package/tools/startCountdown.d.ts +3 -2
- package/tools/startCountdown.js +4 -4
- package/tools/startCountdown.js.map +1 -1
- package/vendor/frontend/oidc-client-ts-and-jwt-decode.js +1 -1
- package/core/debug966975.d.ts +0 -7
- package/core/debug966975.js +0 -88
- package/core/debug966975.js.map +0 -1
- package/src/core/debug966975.ts +0 -85
|
@@ -12,7 +12,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.oidcClientTsUserToTokens = oidcClientTsUserToTokens;
|
|
15
|
-
exports.getMsBeforeExpiration = getMsBeforeExpiration;
|
|
16
15
|
var tsafe_1 = require("../vendor/frontend/tsafe");
|
|
17
16
|
var readExpirationTimeInJwt_1 = require("../tools/readExpirationTimeInJwt");
|
|
18
17
|
var decodeJwt_1 = require("../tools/decodeJwt");
|
|
@@ -20,50 +19,21 @@ function oidcClientTsUserToTokens(params) {
|
|
|
20
19
|
var oidcClientTsUser = params.oidcClientTsUser, decodedIdTokenSchema = params.decodedIdTokenSchema, __unsafe_useIdTokenAsAccessToken = params.__unsafe_useIdTokenAsAccessToken, decodedIdToken_previous = params.decodedIdToken_previous, log = params.log;
|
|
21
20
|
var isFirstInit = decodedIdToken_previous === undefined;
|
|
22
21
|
var accessToken = oidcClientTsUser.access_token;
|
|
23
|
-
var accessTokenExpirationTime = (function () {
|
|
24
|
-
read_from_token_response: {
|
|
25
|
-
var expires_at = oidcClientTsUser.expires_at;
|
|
26
|
-
if (expires_at === undefined) {
|
|
27
|
-
break read_from_token_response;
|
|
28
|
-
}
|
|
29
|
-
return expires_at * 1000;
|
|
30
|
-
}
|
|
31
|
-
read_from_jwt: {
|
|
32
|
-
var expirationTime = (0, readExpirationTimeInJwt_1.readExpirationTimeInJwt)(accessToken);
|
|
33
|
-
if (expirationTime === undefined) {
|
|
34
|
-
break read_from_jwt;
|
|
35
|
-
}
|
|
36
|
-
return expirationTime;
|
|
37
|
-
}
|
|
38
|
-
(0, tsafe_1.assert)(false, "Failed to get access token expiration time");
|
|
39
|
-
})();
|
|
40
22
|
var refreshToken = oidcClientTsUser.refresh_token;
|
|
41
|
-
var refreshTokenExpirationTime = (function () {
|
|
42
|
-
if (refreshToken === undefined) {
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
read_from_jwt: {
|
|
46
|
-
var expirationTime = (0, readExpirationTimeInJwt_1.readExpirationTimeInJwt)(refreshToken);
|
|
47
|
-
if (expirationTime === undefined) {
|
|
48
|
-
break read_from_jwt;
|
|
49
|
-
}
|
|
50
|
-
return expirationTime;
|
|
51
|
-
}
|
|
52
|
-
return undefined;
|
|
53
|
-
})();
|
|
54
23
|
var idToken = oidcClientTsUser.id_token;
|
|
55
24
|
(0, tsafe_1.assert)(idToken !== undefined, "No id token provided by the oidc server");
|
|
25
|
+
var decodedIdToken_original = (0, decodeJwt_1.decodeJwt)(idToken);
|
|
26
|
+
if (isFirstInit) {
|
|
27
|
+
log === null || log === void 0 ? void 0 : log([
|
|
28
|
+
"Decoded ID token",
|
|
29
|
+
decodedIdTokenSchema === undefined ? "" : " before `decodedIdTokenSchema.parse()`\n",
|
|
30
|
+
JSON.stringify(decodedIdToken_original, null, 2)
|
|
31
|
+
].join(""));
|
|
32
|
+
}
|
|
56
33
|
var decodedIdToken = (function () {
|
|
57
|
-
var decodedIdToken
|
|
58
|
-
if (isFirstInit) {
|
|
59
|
-
log === null || log === void 0 ? void 0 : log([
|
|
60
|
-
"Decoded ID token",
|
|
61
|
-
decodedIdTokenSchema === undefined ? "" : " before `decodedIdTokenSchema.parse()`\n",
|
|
62
|
-
JSON.stringify(decodedIdToken, null, 2)
|
|
63
|
-
].join(""));
|
|
64
|
-
}
|
|
34
|
+
var decodedIdToken;
|
|
65
35
|
if (decodedIdTokenSchema !== undefined) {
|
|
66
|
-
decodedIdToken = decodedIdTokenSchema.parse(
|
|
36
|
+
decodedIdToken = decodedIdTokenSchema.parse(decodedIdToken_original);
|
|
67
37
|
if (isFirstInit) {
|
|
68
38
|
log === null || log === void 0 ? void 0 : log([
|
|
69
39
|
"Decoded ID token after `decodedIdTokenSchema.parse()`\n",
|
|
@@ -71,12 +41,40 @@ function oidcClientTsUserToTokens(params) {
|
|
|
71
41
|
].join(""));
|
|
72
42
|
}
|
|
73
43
|
}
|
|
44
|
+
else {
|
|
45
|
+
// @ts-expect-error
|
|
46
|
+
decodedIdToken = decodedIdToken_original;
|
|
47
|
+
}
|
|
74
48
|
if (decodedIdToken_previous !== undefined &&
|
|
75
49
|
JSON.stringify(decodedIdToken) === JSON.stringify(decodedIdToken_previous)) {
|
|
50
|
+
// NOTE: For stable ref, prevent re-render for component that would memoize
|
|
76
51
|
return decodedIdToken_previous;
|
|
77
52
|
}
|
|
78
53
|
return decodedIdToken;
|
|
79
54
|
})();
|
|
55
|
+
var issuedAtTime = (function () {
|
|
56
|
+
// NOTE: The id_token is always a JWT as per the protocol.
|
|
57
|
+
// We don't use Date.now() due to network latency.
|
|
58
|
+
var id_token_iat = (function () {
|
|
59
|
+
var iat;
|
|
60
|
+
try {
|
|
61
|
+
var iat_claimValue = decodedIdToken_original.iat;
|
|
62
|
+
(0, tsafe_1.assert)(iat_claimValue === undefined || typeof iat_claimValue === "number");
|
|
63
|
+
iat = iat_claimValue;
|
|
64
|
+
}
|
|
65
|
+
catch (_a) {
|
|
66
|
+
iat = undefined;
|
|
67
|
+
}
|
|
68
|
+
if (iat === undefined) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
return iat;
|
|
72
|
+
})();
|
|
73
|
+
if (id_token_iat === undefined) {
|
|
74
|
+
return Date.now();
|
|
75
|
+
}
|
|
76
|
+
return id_token_iat * 1000;
|
|
77
|
+
})();
|
|
80
78
|
var tokens_common = __assign(__assign({}, (__unsafe_useIdTokenAsAccessToken
|
|
81
79
|
? {
|
|
82
80
|
accessToken: idToken,
|
|
@@ -86,10 +84,63 @@ function oidcClientTsUserToTokens(params) {
|
|
|
86
84
|
return expirationTime;
|
|
87
85
|
})()
|
|
88
86
|
}
|
|
89
|
-
: {
|
|
87
|
+
: {
|
|
88
|
+
accessToken: accessToken,
|
|
89
|
+
accessTokenExpirationTime: (function () {
|
|
90
|
+
read_from_jwt: {
|
|
91
|
+
var expirationTime = (0, readExpirationTimeInJwt_1.readExpirationTimeInJwt)(accessToken);
|
|
92
|
+
if (expirationTime === undefined) {
|
|
93
|
+
break read_from_jwt;
|
|
94
|
+
}
|
|
95
|
+
return expirationTime;
|
|
96
|
+
}
|
|
97
|
+
read_from_token_response_expires_at: {
|
|
98
|
+
var expires_at = oidcClientTsUser.__oidc_spa_tokenResponse.expires_at;
|
|
99
|
+
if (expires_at === undefined) {
|
|
100
|
+
break read_from_token_response_expires_at;
|
|
101
|
+
}
|
|
102
|
+
(0, tsafe_1.assert)(typeof expires_at === "number", "2033392");
|
|
103
|
+
return expires_at * 1000;
|
|
104
|
+
}
|
|
105
|
+
read_from_token_response_expires_in: {
|
|
106
|
+
var expires_in = oidcClientTsUser.__oidc_spa_tokenResponse.expires_in;
|
|
107
|
+
if (expires_in === undefined) {
|
|
108
|
+
break read_from_token_response_expires_in;
|
|
109
|
+
}
|
|
110
|
+
(0, tsafe_1.assert)(typeof expires_in === "number", "203333425");
|
|
111
|
+
return issuedAtTime + expires_in * 1000;
|
|
112
|
+
}
|
|
113
|
+
(0, tsafe_1.assert)(false, "Failed to get access token expiration time");
|
|
114
|
+
})()
|
|
115
|
+
})), { idToken: idToken, decodedIdToken: decodedIdToken, decodedIdToken_original: decodedIdToken_original, issuedAtTime: issuedAtTime });
|
|
90
116
|
var tokens = refreshToken === undefined
|
|
91
117
|
? (0, tsafe_1.id)(__assign(__assign({}, tokens_common), { hasRefreshToken: false }))
|
|
92
|
-
: (0, tsafe_1.id)(__assign(__assign({}, tokens_common), { hasRefreshToken: true, refreshToken: refreshToken, refreshTokenExpirationTime:
|
|
118
|
+
: (0, tsafe_1.id)(__assign(__assign({}, tokens_common), { hasRefreshToken: true, refreshToken: refreshToken, refreshTokenExpirationTime: (function () {
|
|
119
|
+
read_from_token_response_expires_at: {
|
|
120
|
+
var refresh_expires_at = oidcClientTsUser.__oidc_spa_tokenResponse.refresh_expires_at;
|
|
121
|
+
if (refresh_expires_at === undefined) {
|
|
122
|
+
break read_from_token_response_expires_at;
|
|
123
|
+
}
|
|
124
|
+
(0, tsafe_1.assert)(typeof refresh_expires_at === "number", "2033392");
|
|
125
|
+
return refresh_expires_at * 1000;
|
|
126
|
+
}
|
|
127
|
+
read_from_token_response_expires_in: {
|
|
128
|
+
var refresh_expires_in = oidcClientTsUser.__oidc_spa_tokenResponse.refresh_expires_in;
|
|
129
|
+
if (refresh_expires_in === undefined) {
|
|
130
|
+
break read_from_token_response_expires_in;
|
|
131
|
+
}
|
|
132
|
+
(0, tsafe_1.assert)(typeof refresh_expires_in === "number", "2033425330");
|
|
133
|
+
return issuedAtTime + refresh_expires_in * 1000;
|
|
134
|
+
}
|
|
135
|
+
read_from_jwt: {
|
|
136
|
+
var expirationTime = (0, readExpirationTimeInJwt_1.readExpirationTimeInJwt)(refreshToken);
|
|
137
|
+
if (expirationTime === undefined) {
|
|
138
|
+
break read_from_jwt;
|
|
139
|
+
}
|
|
140
|
+
return expirationTime;
|
|
141
|
+
}
|
|
142
|
+
return undefined;
|
|
143
|
+
})() }));
|
|
93
144
|
if (isFirstInit &&
|
|
94
145
|
tokens.hasRefreshToken &&
|
|
95
146
|
tokens.refreshTokenExpirationTime !== undefined &&
|
|
@@ -101,20 +152,4 @@ function oidcClientTsUserToTokens(params) {
|
|
|
101
152
|
}
|
|
102
153
|
return tokens;
|
|
103
154
|
}
|
|
104
|
-
function getMsBeforeExpiration(tokens) {
|
|
105
|
-
var _a;
|
|
106
|
-
// NOTE: In general the access token is supposed to have a shorter
|
|
107
|
-
// lifespan than the refresh token but we don't want to make any
|
|
108
|
-
// assumption here.
|
|
109
|
-
var tokenExpirationTime = Math.min(tokens.accessTokenExpirationTime, (_a = tokens.refreshTokenExpirationTime) !== null && _a !== void 0 ? _a : Number.POSITIVE_INFINITY);
|
|
110
|
-
var msBeforeExpiration = Math.min(tokenExpirationTime - Date.now(),
|
|
111
|
-
// NOTE: We want to make sure we do not overflow the setTimeout
|
|
112
|
-
// that must be a 32 bit unsigned integer.
|
|
113
|
-
// This can happen if the tokenExpirationTime is more than 24.8 days in the future.
|
|
114
|
-
Math.pow(2, 31) - 1);
|
|
115
|
-
if (msBeforeExpiration < 0) {
|
|
116
|
-
return 0;
|
|
117
|
-
}
|
|
118
|
-
return msBeforeExpiration;
|
|
119
|
-
}
|
|
120
155
|
//# sourceMappingURL=oidcClientTsUserToTokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidcClientTsUserToTokens.js","sourceRoot":"","sources":["../src/core/oidcClientTsUserToTokens.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAMA,
|
|
1
|
+
{"version":3,"file":"oidcClientTsUserToTokens.js","sourceRoot":"","sources":["../src/core/oidcClientTsUserToTokens.ts"],"names":[],"mappings":"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"}
|
package/mock/oidc.d.ts
CHANGED
|
@@ -16,4 +16,4 @@ export type ParamsOfCreateMockOidc<DecodedIdToken extends Record<string, unknown
|
|
|
16
16
|
} : {
|
|
17
17
|
isUserInitiallyLoggedIn: boolean;
|
|
18
18
|
});
|
|
19
|
-
export declare function createMockOidc<DecodedIdToken extends Record<string, unknown> =
|
|
19
|
+
export declare function createMockOidc<DecodedIdToken extends Record<string, unknown> = Oidc.Tokens.DecodedIdToken_base, AutoLogin extends boolean = false>(params: ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin>): Promise<AutoLogin extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken>>;
|
package/mock/oidc.js
CHANGED
|
@@ -133,26 +133,36 @@ function createMockOidc(params) {
|
|
|
133
133
|
// @ts-expect-error: We know what we are doing
|
|
134
134
|
return [2 /*return*/, oidc_1];
|
|
135
135
|
case 3:
|
|
136
|
-
oidc = __assign(__assign({}, common), { isUserLoggedIn: true, renewTokens: function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
136
|
+
oidc = __assign(__assign(__assign(__assign({}, common), { isUserLoggedIn: true, renewTokens: function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
137
137
|
return [2 /*return*/];
|
|
138
|
-
}); }); },
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
138
|
+
}); }); } }), (function () {
|
|
139
|
+
var _a, _b, _c, _d, _e, _f;
|
|
140
|
+
var tokens_common = {
|
|
141
|
+
accessToken: (_a = mockedTokens.accessToken) !== null && _a !== void 0 ? _a : "mocked-access-token",
|
|
142
|
+
accessTokenExpirationTime: (_b = mockedTokens.accessTokenExpirationTime) !== null && _b !== void 0 ? _b : Infinity,
|
|
143
|
+
idToken: (_c = mockedTokens.idToken) !== null && _c !== void 0 ? _c : "mocked-id-token",
|
|
144
|
+
decodedIdToken: (_d = mockedTokens.decodedIdToken) !== null && _d !== void 0 ? _d : (0, createObjectThatThrowsIfAccessed_1.createObjectThatThrowsIfAccessed)({
|
|
145
|
+
debugMessage: [
|
|
146
|
+
"You haven't provided a mocked decodedIdToken",
|
|
147
|
+
"See https://docs.oidc-spa.dev/v/v6/mock"
|
|
148
|
+
].join("\n")
|
|
149
|
+
}),
|
|
150
|
+
decodedIdToken_original: (_e = mockedTokens.decodedIdToken_original) !== null && _e !== void 0 ? _e : (0, createObjectThatThrowsIfAccessed_1.createObjectThatThrowsIfAccessed)({
|
|
151
|
+
debugMessage: [
|
|
152
|
+
"You haven't provided a mocked decodedIdToken_original",
|
|
153
|
+
"See https://docs.oidc-spa.dev/v/v6/mock"
|
|
154
|
+
].join("\n")
|
|
155
|
+
}),
|
|
156
|
+
issuedAtTime: Date.now()
|
|
157
|
+
};
|
|
158
|
+
var tokens = mockedTokens.refreshToken !== undefined || mockedTokens.hasRefreshToken === true
|
|
159
|
+
? (0, tsafe_1.id)(__assign(__assign({}, tokens_common), { hasRefreshToken: true, refreshToken: (_f = mockedTokens.refreshToken) !== null && _f !== void 0 ? _f : "mocked-refresh-token", refreshTokenExpirationTime: mockedTokens.refreshTokenExpirationTime }))
|
|
160
|
+
: (0, tsafe_1.id)(__assign(__assign({}, tokens_common), { hasRefreshToken: false }));
|
|
161
|
+
return {
|
|
162
|
+
getTokens: function () { return Promise.resolve(tokens); },
|
|
163
|
+
getDecodedIdToken: function () { return tokens_common.decodedIdToken; }
|
|
164
|
+
};
|
|
165
|
+
})()), { subscribeToTokensChange: function () { return ({
|
|
156
166
|
unsubscribe: function () { }
|
|
157
167
|
}); }, logout: function (params) {
|
|
158
168
|
var redirectUrl = (0, urlSearchParams_1.addOrUpdateSearchParam)({
|
package/mock/oidc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/mock/oidc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/mock/oidc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oidc-spa",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.1",
|
|
4
4
|
"description": "Openidconnect client for Single Page Applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
"./src/core/StateData.ts",
|
|
40
40
|
"./src/core/configId.ts",
|
|
41
41
|
"./src/core/createOidc.ts",
|
|
42
|
-
"./src/core/debug966975.ts",
|
|
43
42
|
"./src/core/evtIsUserActive.ts",
|
|
44
43
|
"./src/core/handleOidcCallback.ts",
|
|
45
44
|
"./src/core/index.ts",
|
|
@@ -116,9 +115,6 @@
|
|
|
116
115
|
"./core/createOidc.d.ts",
|
|
117
116
|
"./core/createOidc.js",
|
|
118
117
|
"./core/createOidc.js.map",
|
|
119
|
-
"./core/debug966975.d.ts",
|
|
120
|
-
"./core/debug966975.js",
|
|
121
|
-
"./core/debug966975.js.map",
|
|
122
118
|
"./core/evtIsUserActive.d.ts",
|
|
123
119
|
"./core/evtIsUserActive.js",
|
|
124
120
|
"./core/evtIsUserActive.js.map",
|
package/react/react.d.ts
CHANGED
|
@@ -3,7 +3,13 @@ import { type Oidc, type ParamsOfCreateOidc, OidcInitializationError } from "../
|
|
|
3
3
|
import type { ValueOrAsyncGetter } from "../tools/ValueOrAsyncGetter";
|
|
4
4
|
export type OidcReact<DecodedIdToken extends Record<string, unknown>> = OidcReact.NotLoggedIn | OidcReact.LoggedIn<DecodedIdToken>;
|
|
5
5
|
export declare namespace OidcReact {
|
|
6
|
-
type Common = Oidc.Common
|
|
6
|
+
type Common = Oidc.Common & {
|
|
7
|
+
useLogoutWarningCountdown: (params: {
|
|
8
|
+
warningDurationSeconds: number;
|
|
9
|
+
}) => {
|
|
10
|
+
secondsLeft: number | undefined;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
7
13
|
type NotLoggedIn = Common & {
|
|
8
14
|
isUserLoggedIn: false;
|
|
9
15
|
login: (params?: {
|
|
@@ -13,29 +19,18 @@ export declare namespace OidcReact {
|
|
|
13
19
|
doesCurrentHrefRequiresAuth?: boolean;
|
|
14
20
|
}) => Promise<never>;
|
|
15
21
|
initializationError: OidcInitializationError | undefined;
|
|
16
|
-
/** @deprecated: Use `const { decodedIdToken, tokens} = useOidc();` */
|
|
17
|
-
oidcTokens?: never;
|
|
18
22
|
decodedIdToken?: never;
|
|
19
|
-
tokens?: never;
|
|
20
23
|
logout?: never;
|
|
21
|
-
|
|
24
|
+
renewTokens?: never;
|
|
22
25
|
goToAuthServer?: never;
|
|
23
26
|
backFromAuthServer?: never;
|
|
24
27
|
isNewBrowserSession?: never;
|
|
25
28
|
};
|
|
26
29
|
type LoggedIn<DecodedIdToken extends Record<string, unknown>> = Common & {
|
|
27
30
|
isUserLoggedIn: true;
|
|
28
|
-
/** @deprecated: Use `const { decodedIdToken, tokens} = useOidc();` */
|
|
29
|
-
oidcTokens: Oidc.Tokens<DecodedIdToken>;
|
|
30
31
|
decodedIdToken: DecodedIdToken;
|
|
31
|
-
tokens: Oidc.Tokens<DecodedIdToken> | undefined;
|
|
32
32
|
logout: Oidc.LoggedIn["logout"];
|
|
33
33
|
renewTokens: Oidc.LoggedIn["renewTokens"];
|
|
34
|
-
subscribeToAutoLogoutCountdown: (tickCallback: (params: {
|
|
35
|
-
secondsLeft: number | undefined;
|
|
36
|
-
}) => void) => {
|
|
37
|
-
unsubscribeFromAutoLogoutCountdown: () => void;
|
|
38
|
-
};
|
|
39
34
|
login?: never;
|
|
40
35
|
initializationError?: never;
|
|
41
36
|
goToAuthServer: (params: {
|
|
@@ -98,7 +93,7 @@ export declare function createOidcReactApi_dependencyInjection<DecodedIdToken ex
|
|
|
98
93
|
autoLogin?: true | undefined;
|
|
99
94
|
} ? true : false>;
|
|
100
95
|
/** @see: https://docs.oidc-spa.dev/v/v6/usage#react-api */
|
|
101
|
-
export declare function createReactOidc<DecodedIdToken extends Record<string, unknown> =
|
|
96
|
+
export declare function createReactOidc<DecodedIdToken extends Record<string, unknown> = Oidc.Tokens.DecodedIdToken_base, AutoLogin extends boolean = false>(params: ValueOrAsyncGetter<ParamsOfCreateOidc<DecodedIdToken, AutoLogin>>): OidcReactApi<DecodedIdToken, ParamsOfCreateOidc<DecodedIdToken, AutoLogin> extends infer T ? T extends ParamsOfCreateOidc<DecodedIdToken, AutoLogin> ? T extends {
|
|
102
97
|
autoLogin?: true | undefined;
|
|
103
98
|
} ? true : false : never : never>;
|
|
104
99
|
export {};
|
package/react/react.js
CHANGED
|
@@ -151,6 +151,28 @@ function createOidcReactApi_dependencyInjection(paramsOrGetParams, createOidc) {
|
|
|
151
151
|
var oidc = oidcOrInitializationError;
|
|
152
152
|
return ((0, jsx_runtime_1.jsx)(oidcContext.Provider, { value: { oidc: oidc, fallback: fallback !== null && fallback !== void 0 ? fallback : null }, children: children }));
|
|
153
153
|
}
|
|
154
|
+
var useLogoutWarningCountdown = function (_a) {
|
|
155
|
+
var warningDurationSeconds = _a.warningDurationSeconds;
|
|
156
|
+
var contextValue = (0, react_1.useContext)(oidcContext);
|
|
157
|
+
(0, tsafe_1.assert)(contextValue !== undefined);
|
|
158
|
+
var oidc = contextValue.oidc;
|
|
159
|
+
var _b = __read((0, react_1.useState)(undefined), 2), secondsLeft = _b[0], setSecondsLeft = _b[1];
|
|
160
|
+
(0, react_1.useEffect)(function () {
|
|
161
|
+
if (!oidc.isUserLoggedIn) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
var unsubscribeFromAutoLogoutCountdown = oidc.subscribeToAutoLogoutCountdown(function (_a) {
|
|
165
|
+
var secondsLeft = _a.secondsLeft;
|
|
166
|
+
return setSecondsLeft(secondsLeft === undefined || secondsLeft > warningDurationSeconds
|
|
167
|
+
? undefined
|
|
168
|
+
: secondsLeft);
|
|
169
|
+
}).unsubscribeFromAutoLogoutCountdown;
|
|
170
|
+
return function () {
|
|
171
|
+
unsubscribeFromAutoLogoutCountdown();
|
|
172
|
+
};
|
|
173
|
+
}, [warningDurationSeconds]);
|
|
174
|
+
return { secondsLeft: secondsLeft };
|
|
175
|
+
};
|
|
154
176
|
function useOidc(params) {
|
|
155
177
|
var assert_params = (params !== null && params !== void 0 ? params : {}).assert;
|
|
156
178
|
var contextValue = (0, react_1.useContext)(oidcContext);
|
|
@@ -182,50 +204,20 @@ function createOidcReactApi_dependencyInjection(paramsOrGetParams, createOidc) {
|
|
|
182
204
|
(0, tsafe_1.assert)(false);
|
|
183
205
|
}
|
|
184
206
|
}
|
|
185
|
-
var _a = __read((0, react_1.
|
|
186
|
-
// TODO: Remove in next major version
|
|
187
|
-
(0, react_1.useEffect)(function () {
|
|
188
|
-
if (!oidc.isUserLoggedIn) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
var unsubscribe = oidc.subscribeToTokensChange(forceUpdate).unsubscribe;
|
|
192
|
-
return unsubscribe;
|
|
193
|
-
}, [oidc]);
|
|
194
|
-
var tokensState_ref = (0, react_1.useRef)({
|
|
195
|
-
isConsumerReadingTokens: false,
|
|
196
|
-
tokens: undefined
|
|
197
|
-
});
|
|
207
|
+
var _a = __read((0, react_1.useState)(!oidc.isUserLoggedIn ? undefined : oidc.getDecodedIdToken()), 2), reRenderIfDecodedIdTokenChanged = _a[1];
|
|
198
208
|
(0, react_1.useEffect)(function () {
|
|
199
209
|
if (!oidc.isUserLoggedIn) {
|
|
200
210
|
return;
|
|
201
211
|
}
|
|
202
|
-
var
|
|
203
|
-
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
var tokenState = tokensState_ref.current;
|
|
207
|
-
tokenState.tokens = tokens;
|
|
208
|
-
if (tokenState.isConsumerReadingTokens) {
|
|
209
|
-
forceUpdate();
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
var isActive = true;
|
|
213
|
-
oidc.getTokens_next().then(function (tokens) {
|
|
214
|
-
if (!isActive) {
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
updateTokens(tokens);
|
|
218
|
-
});
|
|
219
|
-
var unsubscribe = oidc.subscribeToTokensChange(function (tokens) {
|
|
220
|
-
updateTokens(tokens);
|
|
212
|
+
var unsubscribe = oidc.subscribeToTokensChange(function () {
|
|
213
|
+
return reRenderIfDecodedIdTokenChanged(oidc.getDecodedIdToken());
|
|
221
214
|
}).unsubscribe;
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
unsubscribe();
|
|
225
|
-
};
|
|
215
|
+
reRenderIfDecodedIdTokenChanged(oidc.getDecodedIdToken());
|
|
216
|
+
return unsubscribe;
|
|
226
217
|
}, []);
|
|
227
218
|
var common = {
|
|
228
|
-
params: oidc.params
|
|
219
|
+
params: oidc.params,
|
|
220
|
+
useLogoutWarningCountdown: useLogoutWarningCountdown
|
|
229
221
|
};
|
|
230
222
|
if (!oidc.isUserLoggedIn) {
|
|
231
223
|
return (0, tsafe_2.id)(__assign(__assign({}, common), { isUserLoggedIn: false, login: function (_a) {
|
|
@@ -234,11 +226,7 @@ function createOidcReactApi_dependencyInjection(paramsOrGetParams, createOidc) {
|
|
|
234
226
|
return oidc.login(__assign({ doesCurrentHrefRequiresAuth: doesCurrentHrefRequiresAuth }, rest));
|
|
235
227
|
}, initializationError: oidc.initializationError }));
|
|
236
228
|
}
|
|
237
|
-
var oidcReact = __assign(__assign({}, common), { isUserLoggedIn: true,
|
|
238
|
-
var tokensState = tokensState_ref.current;
|
|
239
|
-
tokensState.isConsumerReadingTokens = true;
|
|
240
|
-
return tokensState.tokens;
|
|
241
|
-
}, logout: oidc.logout, renewTokens: oidc.renewTokens, subscribeToAutoLogoutCountdown: oidc.subscribeToAutoLogoutCountdown, goToAuthServer: oidc.goToAuthServer, isNewBrowserSession: oidc.isNewBrowserSession, backFromAuthServer: oidc.backFromAuthServer });
|
|
229
|
+
var oidcReact = __assign(__assign({}, common), { isUserLoggedIn: true, decodedIdToken: oidc.getDecodedIdToken(), logout: oidc.logout, renewTokens: oidc.renewTokens, goToAuthServer: oidc.goToAuthServer, isNewBrowserSession: oidc.isNewBrowserSession, backFromAuthServer: oidc.backFromAuthServer });
|
|
242
230
|
return oidcReact;
|
|
243
231
|
}
|
|
244
232
|
function withLoginEnforced(Component, params) {
|
|
@@ -298,24 +286,8 @@ function createOidcReactApi_dependencyInjection(paramsOrGetParams, createOidc) {
|
|
|
298
286
|
return oidc;
|
|
299
287
|
});
|
|
300
288
|
function getOidc() {
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
return __generator(this, function (_a) {
|
|
304
|
-
switch (_a.label) {
|
|
305
|
-
case 0:
|
|
306
|
-
dReadyToCreate.resolve();
|
|
307
|
-
return [4 /*yield*/, prOidc];
|
|
308
|
-
case 1:
|
|
309
|
-
oidc = _a.sent();
|
|
310
|
-
if (!oidc.isUserLoggedIn) return [3 /*break*/, 3];
|
|
311
|
-
return [4 /*yield*/, oidc.getTokens_next()];
|
|
312
|
-
case 2:
|
|
313
|
-
_a.sent();
|
|
314
|
-
_a.label = 3;
|
|
315
|
-
case 3: return [2 /*return*/, oidc];
|
|
316
|
-
}
|
|
317
|
-
});
|
|
318
|
-
});
|
|
289
|
+
dReadyToCreate.resolve();
|
|
290
|
+
return prOidc;
|
|
319
291
|
}
|
|
320
292
|
var oidcReact = {
|
|
321
293
|
OidcProvider: OidcProvider,
|
package/react/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react/react.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react/react.tsx"],"names":[],"mappings":"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"}
|
package/src/core/Oidc.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { OidcInitializationError } from "./OidcInitializationError";
|
|
2
2
|
|
|
3
|
-
export declare type Oidc<
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export declare type Oidc<
|
|
4
|
+
DecodedIdToken extends Record<string, unknown> = Oidc.Tokens.DecodedIdToken_base
|
|
5
|
+
> = Oidc.LoggedIn<DecodedIdToken> | Oidc.NotLoggedIn;
|
|
6
6
|
|
|
7
7
|
export declare namespace Oidc {
|
|
8
8
|
export type Common = {
|
|
@@ -43,16 +43,7 @@ export declare namespace Oidc {
|
|
|
43
43
|
renewTokens(params?: {
|
|
44
44
|
extraTokenParams?: Record<string, string | undefined>;
|
|
45
45
|
}): Promise<void>;
|
|
46
|
-
|
|
47
|
-
* Prefer using getTokens_next(), in the next major getTokens() will be be async.
|
|
48
|
-
*
|
|
49
|
-
* The problem is that When the computer wakes up from sleep, the tokens might have expired so
|
|
50
|
-
* there is a window of time where the tokens are not valid.
|
|
51
|
-
*
|
|
52
|
-
* This potential issue do not affect you if you are using "oidc-spa/react" as in the documentation.
|
|
53
|
-
* */
|
|
54
|
-
getTokens: () => Tokens<DecodedIdToken>;
|
|
55
|
-
getTokens_next: () => Promise<Tokens<DecodedIdToken>>;
|
|
46
|
+
getTokens: () => Promise<Tokens<DecodedIdToken>>;
|
|
56
47
|
subscribeToTokensChange: (onTokenChange: (tokens: Tokens<DecodedIdToken>) => void) => {
|
|
57
48
|
unsubscribe: () => void;
|
|
58
49
|
};
|
|
@@ -101,7 +92,7 @@ export declare namespace Oidc {
|
|
|
101
92
|
isNewBrowserSession: boolean;
|
|
102
93
|
};
|
|
103
94
|
|
|
104
|
-
export type Tokens<DecodedIdToken extends Record<string, unknown> =
|
|
95
|
+
export type Tokens<DecodedIdToken extends Record<string, unknown> = Tokens.DecodedIdToken_base> =
|
|
105
96
|
| Tokens.WithRefreshToken<DecodedIdToken>
|
|
106
97
|
| Tokens.WithoutRefreshToken<DecodedIdToken>;
|
|
107
98
|
|
|
@@ -111,6 +102,19 @@ export declare namespace Oidc {
|
|
|
111
102
|
accessTokenExpirationTime: number;
|
|
112
103
|
idToken: string;
|
|
113
104
|
decodedIdToken: DecodedIdToken;
|
|
105
|
+
/**
|
|
106
|
+
* decodedIdToken_original = decodeJwt(idToken);
|
|
107
|
+
* decodedIdToken = decodedIdTokenSchema.parse(decodedIdToken_original)
|
|
108
|
+
*
|
|
109
|
+
* The idea here is that if you have provided a zod schema as `decodedIdTokenSchema`
|
|
110
|
+
* it will strip out every claim that you haven't specified.
|
|
111
|
+
* You might even be applying some transformation.
|
|
112
|
+
*
|
|
113
|
+
* `decodedIdToken_original` is the actual decoded payload of the id_token, untransformed.
|
|
114
|
+
* */
|
|
115
|
+
decodedIdToken_original: DecodedIdToken_base;
|
|
116
|
+
/** Read from id_token's JWT, iat claim value, it's a JavaScript timestamp (millisecond epoch) */
|
|
117
|
+
issuedAtTime: number;
|
|
114
118
|
};
|
|
115
119
|
|
|
116
120
|
export type WithRefreshToken<DecodedIdToken> = Common<DecodedIdToken> & {
|
|
@@ -124,5 +128,14 @@ export declare namespace Oidc {
|
|
|
124
128
|
refreshToken?: never;
|
|
125
129
|
refreshTokenExpirationTime?: never;
|
|
126
130
|
};
|
|
131
|
+
|
|
132
|
+
export type DecodedIdToken_base = {
|
|
133
|
+
iss: string;
|
|
134
|
+
sub: string;
|
|
135
|
+
aud: string | string[];
|
|
136
|
+
exp: number;
|
|
137
|
+
iat: number;
|
|
138
|
+
[claimName: string]: unknown;
|
|
139
|
+
};
|
|
127
140
|
}
|
|
128
141
|
}
|