oidc-spa 3.0.3 → 4.1.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.
package/README.md CHANGED
@@ -22,9 +22,17 @@
22
22
  <a href="https://docs.oidc-spa.dev">Documentation</a>
23
23
  </p>
24
24
 
25
- An OIDC client tailored for Single Page Applications, particularly suitable for [Vite](https://vitejs.dev/) projects.
26
- This library is intended for scenarios such as integrating your application with Keycloak.
27
- `oidc-spa` is designed to be **very easy to set up and use**, even for those who are not familiar with the OIDC protocol.
25
+ An OIDC client tailored for Single Page Applications, particularly suitable for [Vite](https://vitejs.dev/) projects.\
26
+ This library is intended for scenarios such as integrating your application with [Keycloak](https://www.keycloak.org/). &#x20;
27
+
28
+ In straightforward terms, this library is ideal for those seeking to enable user login/registration in their web application. When used in conjunction with Keycloak (for example), it enables you to offer a modern and secure authentication experience with minimal coding effort. This includes options for signing in via Google, X, GitHub, or other social media platforms. We provide comprehensive guidance from beginning to end.
29
+
30
+ - 🎓 Accessible to all skill levels; no need to be an OIDC expert.
31
+ - 🛠️ Easy to set up; eliminates the need for creating special `/login` `/logout` routes.
32
+ - 🎛️ Minimal API surface for ease of use.
33
+ - ✨ Robust yet optional React integration.
34
+ - 📖 Comprehensive documentation and project examples: End-to-end solutions for authenticating your app.
35
+ - ✅ Best in class type safety: Enhanced API response types based on usage context.
28
36
 
29
37
  ## Comparison with Existing Libraries
30
38
 
package/oidc.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare type Oidc = Oidc.LoggedIn | Oidc.NotLoggedIn;
1
+ export declare type Oidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> = Oidc.LoggedIn<DecodedIdToken> | Oidc.NotLoggedIn;
2
2
  export declare namespace Oidc {
3
3
  type Common = {
4
4
  params: {
@@ -13,10 +13,10 @@ export declare namespace Oidc {
13
13
  extraQueryParams?: Record<string, string>;
14
14
  }) => Promise<never>;
15
15
  };
16
- type LoggedIn = Common & {
16
+ type LoggedIn<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> = Common & {
17
17
  isUserLoggedIn: true;
18
18
  renewTokens(): Promise<void>;
19
- getTokens: () => Tokens;
19
+ getTokens: () => Tokens<DecodedIdToken>;
20
20
  subscribeToTokensChange: (onTokenChange: () => void) => {
21
21
  unsubscribe: () => void;
22
22
  };
@@ -27,20 +27,28 @@ export declare namespace Oidc {
27
27
  url: string;
28
28
  }) => Promise<never>;
29
29
  };
30
- type Tokens = {
30
+ type Tokens<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> = Readonly<{
31
31
  accessToken: string;
32
32
  accessTokenExpirationTime: number;
33
33
  idToken: string;
34
34
  refreshToken: string;
35
35
  refreshTokenExpirationTime: number;
36
- };
36
+ decodedIdToken: DecodedIdToken;
37
+ }>;
37
38
  }
38
- /** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
39
- export declare function createOidc(params: {
39
+ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> = {
40
40
  issuerUri: string;
41
41
  clientId: string;
42
+ clientSecret?: string;
42
43
  transformUrlBeforeRedirect?: (url: string) => string;
43
- getExtraQueryParams?: () => Record<string, string>;
44
+ /**
45
+ * Extra query params to be added on the login url.
46
+ * You can provide a function that returns those extra query params, it will be called
47
+ * when login() is called.
48
+ *
49
+ * Example: extraQueryParams: ()=> ({ ui_locales: "fr" })
50
+ */
51
+ extraQueryParams?: Record<string, string> | (() => Record<string, string>);
44
52
  /**
45
53
  * This parameter have to be provided if your App is not hosted at the origin of the subdomain.
46
54
  * For example if your site is hosted by navigating to `https://www.example.com`
@@ -54,4 +62,9 @@ export declare function createOidc(params: {
54
62
  * you are supposed to have created in your `public/` directory.
55
63
  */
56
64
  publicUrl?: string;
57
- }): Promise<Oidc>;
65
+ decodedIdTokenSchema?: {
66
+ parse: (data: unknown) => DecodedIdToken;
67
+ };
68
+ };
69
+ /** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
70
+ export declare function createOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>>(params: ParamsOfCreateOidc<DecodedIdToken>): Promise<Oidc<DecodedIdToken>>;
package/oidc.js CHANGED
@@ -91,16 +91,26 @@ var assert_1 = require("tsafe/assert");
91
91
  var urlQueryParams_1 = require("./tools/urlQueryParams");
92
92
  var fnv1aHashToHex_1 = require("./tools/fnv1aHashToHex");
93
93
  var Deferred_1 = require("./tools/Deferred");
94
+ var decodeJwt_1 = require("./tools/decodeJwt");
94
95
  var paramsToRetrieveFromSuccessfulLogin = ["code", "state", "session_state", "iss"];
95
96
  /** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
96
97
  function createOidc(params) {
97
98
  return __awaiter(this, void 0, void 0, function () {
98
- var issuerUri, clientId, _a, transformUrlBeforeRedirect, getExtraQueryParams, publicUrl_params, publicUrl, configHash, configHashKey, userManager, lastPublicRoute, realPushState_1, hasLoginBeenCalled, login, currentTokens, common, error, onTokenChanges, oidc;
99
+ var issuerUri, clientId, clientSecret, _a, transformUrlBeforeRedirect, extraQueryParamsOrGetter, publicUrl_params, decodedIdTokenSchema, getExtraQueryParams, publicUrl, configHash, configHashKey, oidcClientTsUserManager, lastPublicRoute, realPushState_1, hasLoginBeenCalled, login, initialTokens, common, error, currentTokens, onTokenChanges, oidc;
99
100
  var _this = this;
100
101
  return __generator(this, function (_b) {
101
102
  switch (_b.label) {
102
103
  case 0:
103
- issuerUri = params.issuerUri, clientId = params.clientId, _a = params.transformUrlBeforeRedirect, transformUrlBeforeRedirect = _a === void 0 ? function (url) { return url; } : _a, getExtraQueryParams = params.getExtraQueryParams, publicUrl_params = params.publicUrl;
104
+ issuerUri = params.issuerUri, clientId = params.clientId, clientSecret = params.clientSecret, _a = params.transformUrlBeforeRedirect, transformUrlBeforeRedirect = _a === void 0 ? function (url) { return url; } : _a, extraQueryParamsOrGetter = params.extraQueryParams, publicUrl_params = params.publicUrl, decodedIdTokenSchema = params.decodedIdTokenSchema;
105
+ getExtraQueryParams = (function () {
106
+ if (typeof extraQueryParamsOrGetter === "function") {
107
+ return extraQueryParamsOrGetter;
108
+ }
109
+ if (extraQueryParamsOrGetter !== undefined) {
110
+ return function () { return extraQueryParamsOrGetter; };
111
+ }
112
+ return undefined;
113
+ })();
104
114
  publicUrl = (function () {
105
115
  if (publicUrl_params === undefined) {
106
116
  return window.location.origin;
@@ -111,9 +121,10 @@ function createOidc(params) {
111
121
  })();
112
122
  configHash = (0, fnv1aHashToHex_1.fnv1aHashToHex)("".concat(issuerUri, " ").concat(clientId));
113
123
  configHashKey = "configHash";
114
- userManager = new oidc_client_ts_1.UserManager({
124
+ oidcClientTsUserManager = new oidc_client_ts_1.UserManager({
115
125
  "authority": issuerUri,
116
126
  "client_id": clientId,
127
+ "client_secret": clientSecret,
117
128
  "redirect_uri": "" /* provided when calling login */,
118
129
  "response_type": "code",
119
130
  "scope": "openid profile",
@@ -195,7 +206,7 @@ function createOidc(params) {
195
206
  };
196
207
  document.addEventListener("visibilitychange", callback_1);
197
208
  }
198
- return [4 /*yield*/, userManager.signinRedirect({
209
+ return [4 /*yield*/, oidcClientTsUserManager.signinRedirect({
199
210
  redirect_uri: redirect_uri,
200
211
  "redirectMethod": doesCurrentHrefRequiresAuth ? "replace" : "assign"
201
212
  })];
@@ -208,7 +219,7 @@ function createOidc(params) {
208
219
  };
209
220
  return [4 /*yield*/, (function getUser() {
210
221
  return __awaiter(this, void 0, void 0, function () {
211
- var url, result, result, loginSuccessUrl, paramsToRetrieveFromSuccessfulLogin_1, paramsToRetrieveFromSuccessfulLogin_1_1, name_1, result, user, _a, user, _b, dLoginSuccessUrl_1, timeoutDelayMs, timeout_1, listener_1, loginSuccessUrl, user;
222
+ var url, result, result, loginSuccessUrl, paramsToRetrieveFromSuccessfulLogin_1, paramsToRetrieveFromSuccessfulLogin_1_1, name_1, result, oidcClientTsUser, _a, oidcClientTsUser, _b, dLoginSuccessUrl_1, timeoutDelayMs, timeout_1, listener_1, loginSuccessUrl, oidcClientTsUser;
212
223
  var e_1, _c;
213
224
  return __generator(this, function (_d) {
214
225
  switch (_d.label) {
@@ -254,36 +265,36 @@ function createOidc(params) {
254
265
  finally { if (e_1) throw e_1.error; }
255
266
  }
256
267
  window.history.pushState(null, "", url);
257
- user = undefined;
268
+ oidcClientTsUser = undefined;
258
269
  _d.label = 1;
259
270
  case 1:
260
271
  _d.trys.push([1, 3, , 4]);
261
- return [4 /*yield*/, userManager.signinRedirectCallback(loginSuccessUrl)];
272
+ return [4 /*yield*/, oidcClientTsUserManager.signinRedirectCallback(loginSuccessUrl)];
262
273
  case 2:
263
- user = _d.sent();
274
+ oidcClientTsUser = _d.sent();
264
275
  return [3 /*break*/, 4];
265
276
  case 3:
266
277
  _a = _d.sent();
267
278
  //NOTE: The user has likely pressed the back button just after logging in.
268
279
  return [2 /*return*/, undefined];
269
- case 4: return [2 /*return*/, user];
270
- case 5: return [4 /*yield*/, userManager.getUser()];
280
+ case 4: return [2 /*return*/, oidcClientTsUser];
281
+ case 5: return [4 /*yield*/, oidcClientTsUserManager.getUser()];
271
282
  case 6:
272
- user = _d.sent();
273
- if (user === null) {
283
+ oidcClientTsUser = _d.sent();
284
+ if (oidcClientTsUser === null) {
274
285
  return [3 /*break*/, 11];
275
286
  }
276
287
  _d.label = 7;
277
288
  case 7:
278
289
  _d.trys.push([7, 9, , 10]);
279
- return [4 /*yield*/, userManager.signinSilent()];
290
+ return [4 /*yield*/, oidcClientTsUserManager.signinSilent()];
280
291
  case 8:
281
292
  _d.sent();
282
293
  return [3 /*break*/, 10];
283
294
  case 9:
284
295
  _b = _d.sent();
285
296
  return [2 /*return*/, undefined];
286
- case 10: return [2 /*return*/, user];
297
+ case 10: return [2 /*return*/, oidcClientTsUser];
287
298
  case 11:
288
299
  dLoginSuccessUrl_1 = new Deferred_1.Deferred();
289
300
  timeoutDelayMs = 2500;
@@ -346,7 +357,7 @@ function createOidc(params) {
346
357
  dLoginSuccessUrl_1.resolve(loginSuccessUrl);
347
358
  };
348
359
  window.addEventListener("message", listener_1, false);
349
- userManager
360
+ oidcClientTsUserManager
350
361
  .signinSilent({ "silentRequestTimeoutInSeconds": timeoutDelayMs / 1000 })
351
362
  .catch(function () {
352
363
  /* error expected */
@@ -357,19 +368,22 @@ function createOidc(params) {
357
368
  if (loginSuccessUrl === undefined) {
358
369
  return [3 /*break*/, 14];
359
370
  }
360
- return [4 /*yield*/, userManager.signinRedirectCallback(loginSuccessUrl)];
371
+ return [4 /*yield*/, oidcClientTsUserManager.signinRedirectCallback(loginSuccessUrl)];
361
372
  case 13:
362
- user = _d.sent();
363
- return [2 /*return*/, user];
373
+ oidcClientTsUser = _d.sent();
374
+ return [2 /*return*/, oidcClientTsUser];
364
375
  case 14: return [2 /*return*/, undefined];
365
376
  }
366
377
  });
367
378
  });
368
- })().then(function (user) {
369
- if (user === undefined) {
379
+ })().then(function (oidcClientTsUser) {
380
+ if (oidcClientTsUser === undefined) {
370
381
  return undefined;
371
382
  }
372
- var tokens = userToTokens(user);
383
+ var tokens = oidcClientTsUserToTokens({
384
+ oidcClientTsUser: oidcClientTsUser,
385
+ decodedIdTokenSchema: decodedIdTokenSchema
386
+ });
373
387
  if (tokens.refreshTokenExpirationTime < tokens.accessTokenExpirationTime) {
374
388
  console.warn([
375
389
  "The OIDC refresh token shorter than the one of the access token.",
@@ -383,15 +397,15 @@ function createOidc(params) {
383
397
  return error;
384
398
  })];
385
399
  case 1:
386
- currentTokens = _b.sent();
400
+ initialTokens = _b.sent();
387
401
  common = {
388
402
  "params": {
389
403
  issuerUri: issuerUri,
390
404
  clientId: clientId
391
405
  }
392
406
  };
393
- if (currentTokens instanceof Error) {
394
- error = currentTokens;
407
+ if (initialTokens instanceof Error) {
408
+ error = initialTokens;
395
409
  console.error("The OIDC server is down or misconfigured: ".concat(error.message));
396
410
  return [2 /*return*/, (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, "login": function () { return __awaiter(_this, void 0, void 0, function () {
397
411
  return __generator(this, function (_a) {
@@ -400,20 +414,15 @@ function createOidc(params) {
400
414
  });
401
415
  }); } }))];
402
416
  }
403
- if (currentTokens === undefined) {
417
+ if (initialTokens === undefined) {
404
418
  return [2 /*return*/, (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, login: login }))];
405
419
  }
420
+ currentTokens = initialTokens;
406
421
  onTokenChanges = new Set();
407
- oidc = (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": true, "getTokens": function () { return ({
408
- "accessToken": currentTokens.accessToken,
409
- "idToken": currentTokens.idToken,
410
- "refreshToken": currentTokens.refreshToken,
411
- "refreshTokenExpirationTime": currentTokens.refreshTokenExpirationTime,
412
- "accessTokenExpirationTime": currentTokens.accessTokenExpirationTime
413
- }); }, "logout": function (params) { return __awaiter(_this, void 0, void 0, function () {
422
+ oidc = (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": true, "getTokens": function () { return currentTokens; }, "logout": function (params) { return __awaiter(_this, void 0, void 0, function () {
414
423
  return __generator(this, function (_a) {
415
424
  switch (_a.label) {
416
- case 0: return [4 /*yield*/, userManager.signoutRedirect({
425
+ case 0: return [4 /*yield*/, oidcClientTsUserManager.signoutRedirect({
417
426
  "post_logout_redirect_uri": (function () {
418
427
  switch (params.redirectTo) {
419
428
  case "current page":
@@ -432,14 +441,21 @@ function createOidc(params) {
432
441
  }
433
442
  });
434
443
  }); }, "renewTokens": function () { return __awaiter(_this, void 0, void 0, function () {
435
- var user;
444
+ var oidcClientTsUser, decodedIdTokenPropertyDescriptor;
436
445
  return __generator(this, function (_a) {
437
446
  switch (_a.label) {
438
- case 0: return [4 /*yield*/, userManager.signinSilent()];
447
+ case 0: return [4 /*yield*/, oidcClientTsUserManager.signinSilent()];
439
448
  case 1:
440
- user = _a.sent();
441
- (0, assert_1.assert)(user !== null);
442
- Object.assign(currentTokens, userToTokens(user));
449
+ oidcClientTsUser = _a.sent();
450
+ (0, assert_1.assert)(oidcClientTsUser !== null);
451
+ decodedIdTokenPropertyDescriptor = Object.getOwnPropertyDescriptor(currentTokens, "decodedIdToken");
452
+ (0, assert_1.assert)(decodedIdTokenPropertyDescriptor !== undefined);
453
+ currentTokens = oidcClientTsUserToTokens({
454
+ oidcClientTsUser: oidcClientTsUser,
455
+ decodedIdTokenSchema: decodedIdTokenSchema
456
+ });
457
+ // NOTE: We do that to preserve the cache and the object reference.
458
+ Object.defineProperty(currentTokens, "decodedIdToken", decodedIdTokenPropertyDescriptor);
443
459
  onTokenChanges.forEach(function (onTokenChange) { return onTokenChange(); });
444
460
  return [2 /*return*/];
445
461
  }
@@ -485,11 +501,12 @@ function createOidc(params) {
485
501
  });
486
502
  }
487
503
  exports.createOidc = createOidc;
488
- function userToTokens(user) {
489
- var accessToken = user.access_token;
504
+ function oidcClientTsUserToTokens(params) {
505
+ var oidcClientTsUser = params.oidcClientTsUser, decodedIdTokenSchema = params.decodedIdTokenSchema;
506
+ var accessToken = oidcClientTsUser.access_token;
490
507
  var accessTokenExpirationTime = (function () {
491
508
  read_from_metadata: {
492
- var expires_at = user.expires_at;
509
+ var expires_at = oidcClientTsUser.expires_at;
493
510
  if (expires_at === undefined) {
494
511
  break read_from_metadata;
495
512
  }
@@ -504,7 +521,7 @@ function userToTokens(user) {
504
521
  }
505
522
  (0, assert_1.assert)(false, "Failed to get access token expiration time");
506
523
  })();
507
- var refreshToken = user.refresh_token;
524
+ var refreshToken = oidcClientTsUser.refresh_token;
508
525
  (0, assert_1.assert)(refreshToken !== undefined, "No refresh token provided by the oidc server");
509
526
  var refreshTokenExpirationTime = (function () {
510
527
  read_from_jwt: {
@@ -516,14 +533,35 @@ function userToTokens(user) {
516
533
  }
517
534
  (0, assert_1.assert)(false, "Failed to get refresh token expiration time");
518
535
  })();
519
- var idToken = user.id_token;
536
+ var idToken = oidcClientTsUser.id_token;
520
537
  (0, assert_1.assert)(idToken !== undefined, "No id token provided by the oidc server");
521
- return {
538
+ var tokens = {
522
539
  accessToken: accessToken,
523
540
  accessTokenExpirationTime: accessTokenExpirationTime,
524
541
  refreshToken: refreshToken,
525
542
  refreshTokenExpirationTime: refreshTokenExpirationTime,
526
- idToken: idToken
543
+ idToken: idToken,
544
+ "decodedIdToken": null
527
545
  };
546
+ var cache = undefined;
547
+ Object.defineProperty(tokens, "decodedIdToken", {
548
+ "get": function () {
549
+ if (cache !== undefined && cache.idToken === this.idToken) {
550
+ return cache.decodedIdToken;
551
+ }
552
+ var decodedIdToken = (0, decodeJwt_1.decodeJwt)(this.idToken);
553
+ if (decodedIdTokenSchema !== undefined) {
554
+ decodedIdToken = decodedIdTokenSchema.parse(decodedIdToken);
555
+ }
556
+ cache = {
557
+ "idToken": this.idToken,
558
+ decodedIdToken: decodedIdToken
559
+ };
560
+ return decodedIdToken;
561
+ },
562
+ "configurable": true,
563
+ "enumerable": true
564
+ });
565
+ return tokens;
528
566
  }
529
567
  //# sourceMappingURL=oidc.js.map
package/oidc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.js","sourceRoot":"","sources":["src/oidc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oidc.js","sourceRoot":"","sources":["src/oidc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "oidc-spa",
3
- "version": "3.0.3",
3
+ "version": "4.1.0",
4
4
  "description": "Openidconnect client for Single Page Applications",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "git://github.com/garronej/oidc-spa.git"
7
+ "url": "git://github.com/keycloakify/oidc-spa.git"
8
8
  },
9
9
  "main": "./index.js",
10
10
  "types": "./index.d.ts",
@@ -16,6 +16,7 @@
16
16
  "./tools/decodeJwt": "./tools/decodeJwt.js",
17
17
  "./tools/Deferred": "./tools/Deferred.js",
18
18
  "./tools/fnv1aHashToHex": "./tools/fnv1aHashToHex.js",
19
+ "./tools/powerhooks/useGuaranteedMemo": "./tools/powerhooks/useGuaranteedMemo.js",
19
20
  "./tools/readExpirationTimeInJwt": "./tools/readExpirationTimeInJwt.js",
20
21
  "./tools/urlQueryParams": "./tools/urlQueryParams.js"
21
22
  },
@@ -29,7 +30,7 @@
29
30
  "pre-commit": "lint-staged -v"
30
31
  }
31
32
  },
32
- "author": "u/garronej",
33
+ "author": "u/garronej & u/ddecrulle",
33
34
  "license": "MIT",
34
35
  "files": [
35
36
  "./src/index.ts",
@@ -38,6 +39,7 @@
38
39
  "./src/tools/Deferred.ts",
39
40
  "./src/tools/decodeJwt.ts",
40
41
  "./src/tools/fnv1aHashToHex.ts",
42
+ "./src/tools/powerhooks/useGuaranteedMemo.ts",
41
43
  "./src/tools/readExpirationTimeInJwt.ts",
42
44
  "./src/tools/urlQueryParams.ts",
43
45
  "./index.d.ts",
@@ -58,6 +60,9 @@
58
60
  "./tools/fnv1aHashToHex.d.ts",
59
61
  "./tools/fnv1aHashToHex.js",
60
62
  "./tools/fnv1aHashToHex.js.map",
63
+ "./tools/powerhooks/useGuaranteedMemo.d.ts",
64
+ "./tools/powerhooks/useGuaranteedMemo.js",
65
+ "./tools/powerhooks/useGuaranteedMemo.js.map",
61
66
  "./tools/readExpirationTimeInJwt.d.ts",
62
67
  "./tools/readExpirationTimeInJwt.js",
63
68
  "./tools/readExpirationTimeInJwt.js.map",
@@ -66,7 +71,12 @@
66
71
  "./tools/urlQueryParams.js.map"
67
72
  ],
68
73
  "keywords": [],
69
- "homepage": "https://github.com/garronej/oidc-spa",
74
+ "homepage": "https://docs.oidc-spa.dev/",
75
+ "dependencies": {
76
+ "jwt-decode": "^3.1.2",
77
+ "oidc-client-ts": "^2.3.0",
78
+ "tsafe": "^1.6.5"
79
+ },
70
80
  "devDependencies": {
71
81
  "@types/node": "^20.2.1",
72
82
  "@types/react": "^18.2.6",
@@ -80,10 +90,5 @@
80
90
  },
81
91
  "publishConfig": {
82
92
  "access": "public"
83
- },
84
- "dependencies": {
85
- "jwt-decode": "^3.1.2",
86
- "oidc-client-ts": "^2.3.0",
87
- "tsafe": "^1.6.5"
88
93
  }
89
94
  }
package/react.d.ts CHANGED
@@ -1,43 +1,35 @@
1
1
  import { type ReactNode } from "react";
2
- import { createOidc, type Oidc } from "./oidc";
3
- /** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
4
- export declare function createOidcProvider(params: Parameters<typeof createOidc>[0]): {
5
- OidcProvider: (props: {
6
- fallback?: ReactNode;
7
- children: ReactNode;
8
- }) => import("react/jsx-runtime").JSX.Element;
9
- prOidc: Promise<Oidc>;
10
- };
11
- export type ReactiveOidc<DecodedIdToken extends Record<string, unknown>> = ReactiveOidc.NotLoggedIn | ReactiveOidc.LoggedIn<DecodedIdToken>;
12
- export declare namespace ReactiveOidc {
2
+ import { type ParamsOfCreateOidc, type Oidc } from "./oidc";
3
+ export type OidcReact<DecodedIdToken extends Record<string, unknown>> = OidcReact.NotLoggedIn | OidcReact.LoggedIn<DecodedIdToken>;
4
+ export declare namespace OidcReact {
13
5
  type Common = Oidc.Common;
14
6
  type NotLoggedIn = Common & {
15
7
  isUserLoggedIn: false;
16
8
  login: Oidc.NotLoggedIn["login"];
17
- oidcTokens: undefined;
18
- logout: undefined;
9
+ oidcTokens?: never;
10
+ logout?: never;
19
11
  };
20
12
  type LoggedIn<DecodedIdToken extends Record<string, unknown>> = Common & {
21
13
  isUserLoggedIn: true;
22
- oidcTokens: ReturnType<Oidc.LoggedIn["getTokens"]> & {
23
- decodedIdToken: DecodedIdToken;
24
- };
14
+ oidcTokens: Oidc.Tokens<DecodedIdToken>;
25
15
  logout: Oidc.LoggedIn["logout"];
26
16
  renewTokens: Oidc.LoggedIn["renewTokens"];
27
- login: undefined;
17
+ login?: never;
28
18
  };
29
19
  }
30
- export declare function createUseOidc<DecodedOidcIdToken extends Record<string, unknown> = Record<string, unknown>>(params?: {
31
- decodedIdTokenSchema?: {
32
- parse: (data: unknown) => DecodedOidcIdToken;
33
- };
34
- }): {
20
+ /** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
21
+ export declare function createReactOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>>(params: ParamsOfCreateOidc<DecodedIdToken>): {
22
+ OidcProvider: (props: {
23
+ fallback?: ReactNode;
24
+ children: ReactNode;
25
+ }) => import("react/jsx-runtime").JSX.Element;
35
26
  useOidc: {
36
27
  (params?: {
37
28
  assertUserLoggedIn: false;
38
- }): ReactiveOidc<DecodedOidcIdToken>;
29
+ }): OidcReact<DecodedIdToken>;
39
30
  (params: {
40
31
  assertUserLoggedIn: true;
41
- }): ReactiveOidc.LoggedIn<DecodedOidcIdToken>;
32
+ }): OidcReact.LoggedIn<DecodedIdToken>;
42
33
  };
34
+ prOidc: Promise<Oidc<DecodedIdToken>>;
43
35
  };