oidc-spa 2.2.0 → 2.2.2-rc.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
@@ -85,8 +85,8 @@ import { createOidc, decodeJwt } from "oidc-spa";
85
85
  });
86
86
 
87
87
  if (!oidc.isUserLoggedIn) {
88
+ // This return a promise that never resolve. Your user will be redirected to the identity server.
88
89
  oidc.login({
89
- // This return a promise that never resolve. Your user will be redirected to the identity server.
90
90
  // doesCurrentHrefRequiresAuth determines the behavior when a user gives up on loggin in and navigate back.
91
91
  // We don't want to send him back to a authenticated route.
92
92
  // If you are calling login because the user clicked
@@ -105,11 +105,11 @@ import { createOidc, decodeJwt } from "oidc-spa";
105
105
  idToken
106
106
  } = oidc.getTokens();
107
107
 
108
- const user = decodeJwt<{
108
+ const user = decodeJwt(idToken) as {
109
109
  // Use https://jwt.io/ to tell what's in your idToken
110
110
  sub: string;
111
111
  preferred_username: string;
112
- }>(idToken);
112
+ };
113
113
 
114
114
  console.log(`Hello ${user.preferred_username}`);
115
115
 
@@ -198,11 +198,11 @@ function useUser() {
198
198
 
199
199
  const user = useMemo(
200
200
  () =>
201
- decodeJwt<{
201
+ decodeJwt(idToken) as {
202
202
  // Use https://jwt.io/ to tell what's in your idToken
203
203
  sub: string;
204
204
  preferred_username: string;
205
- }>(idToken),
205
+ },
206
206
  [idToken]
207
207
  );
208
208
 
package/oidc.d.ts CHANGED
@@ -51,4 +51,5 @@ export declare function createOidc(params: {
51
51
  * you are supposed to have created in your `public/` directory.
52
52
  */
53
53
  publicUrl?: string;
54
+ log?: typeof console.log;
54
55
  }): Promise<Oidc>;
package/oidc.js CHANGED
@@ -95,12 +95,13 @@ var paramsToRetrieveFromSuccessfulLogin = ["code", "state", "session_state"];
95
95
  /** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
96
96
  function createOidc(params) {
97
97
  return __awaiter(this, void 0, void 0, function () {
98
- var issuerUri, clientId, _a, transformUrlBeforeRedirect, getExtraQueryParams, publicUrl_params, publicUrl, configHash, configHashKey, userManager, lastPublicRoute, realPushState_1, login, currentTokens, common, error, oidc;
98
+ var issuerUri, clientId, _a, transformUrlBeforeRedirect, getExtraQueryParams, publicUrl_params, log, publicUrl, configHash, configHashKey, userManager, lastPublicRoute, realPushState_1, login, currentTokens, common, error, oidc;
99
99
  var _this = this;
100
100
  return __generator(this, function (_b) {
101
101
  switch (_b.label) {
102
102
  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;
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, log = params.log;
104
+ log === null || log === void 0 ? void 0 : log("createOidc called with params:", params);
104
105
  publicUrl = (function () {
105
106
  if (publicUrl_params === undefined) {
106
107
  return window.location.origin;
@@ -109,6 +110,7 @@ function createOidc(params) {
109
110
  ? publicUrl_params
110
111
  : "".concat(window.location.origin).concat(publicUrl_params)).replace(/\/$/, "");
111
112
  })();
113
+ log === null || log === void 0 ? void 0 : log("Using publicUrl: ".concat(publicUrl));
112
114
  configHash = (0, fnv1aHashToHex_1.fnv1aHashToHex)("".concat(issuerUri, " ").concat(clientId));
113
115
  configHashKey = "configHash";
114
116
  userManager = new oidc_client_ts_1.UserManager({
@@ -128,7 +130,9 @@ function createOidc(params) {
128
130
  for (var _i = 0; _i < arguments.length; _i++) {
129
131
  args[_i] = arguments[_i];
130
132
  }
131
- lastPublicRoute = window.location.href;
133
+ var newLastPublicRoute = window.location.href;
134
+ log === null || log === void 0 ? void 0 : log("pushState called", { lastPublicRoute: lastPublicRoute, newLastPublicRoute: newLastPublicRoute });
135
+ lastPublicRoute = newLastPublicRoute;
132
136
  return realPushState_1.apply(void 0, __spreadArray([], __read(args), false));
133
137
  };
134
138
  }
@@ -161,10 +165,15 @@ function createOidc(params) {
161
165
  }
162
166
  });
163
167
  }
164
- var URL_real, redirect_uri, callback_1;
168
+ var URL_real, redirect_uri, callback_1, redirectMethod;
165
169
  return __generator(this, function (_b) {
166
170
  switch (_b.label) {
167
171
  case 0:
172
+ //NOTE: We know there is a extraQueryParameter option but it doesn't allow
173
+ // to control the encoding so we have to highjack global URL Class that is
174
+ // used internally by oidc-client-ts. It's save to do so since this is the
175
+ // last thing that will be done before the redirect.
176
+ log === null || log === void 0 ? void 0 : log("login called", { doesCurrentHrefRequiresAuth: doesCurrentHrefRequiresAuth, extraQueryParams: extraQueryParams });
168
177
  URL_real = window.URL;
169
178
  Object.defineProperty(window, "URL", { "value": URL });
170
179
  redirect_uri = (0, urlQueryParams_1.addQueryParamToUrl)({
@@ -186,9 +195,11 @@ function createOidc(params) {
186
195
  };
187
196
  document.addEventListener("visibilitychange", callback_1);
188
197
  }
198
+ redirectMethod = doesCurrentHrefRequiresAuth ? "replace" : "assign";
199
+ log === null || log === void 0 ? void 0 : log("signinRedirect called", { redirect_uri: redirect_uri, redirectMethod: redirectMethod });
189
200
  return [4 /*yield*/, userManager.signinRedirect({
190
201
  redirect_uri: redirect_uri,
191
- "redirectMethod": doesCurrentHrefRequiresAuth ? "replace" : "assign"
202
+ redirectMethod: redirectMethod
192
203
  })];
193
204
  case 1:
194
205
  _b.sent();
@@ -199,7 +210,7 @@ function createOidc(params) {
199
210
  };
200
211
  return [4 /*yield*/, (function getUser() {
201
212
  return __awaiter(this, void 0, void 0, function () {
202
- var url, result, result, loginSuccessUrl, paramsToRetrieveFromSuccessfulLogin_1, paramsToRetrieveFromSuccessfulLogin_1_1, name_1, result, user, _a, user, _b, dLoginSuccessUrl_1, timeout_1, listener_1, loginSuccessUrl, user;
213
+ 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;
203
214
  var e_1, _c;
204
215
  return __generator(this, function (_d) {
205
216
  switch (_d.label) {
@@ -218,6 +229,7 @@ function createOidc(params) {
218
229
  throw new Error("OIDC error: ".concat(result.value));
219
230
  }
220
231
  }
232
+ log === null || log === void 0 ? void 0 : log("read_successful_login_query_params");
221
233
  loginSuccessUrl = "https://dummy.com";
222
234
  try {
223
235
  for (paramsToRetrieveFromSuccessfulLogin_1 = __values(paramsToRetrieveFromSuccessfulLogin), paramsToRetrieveFromSuccessfulLogin_1_1 = paramsToRetrieveFromSuccessfulLogin_1.next(); !paramsToRetrieveFromSuccessfulLogin_1_1.done; paramsToRetrieveFromSuccessfulLogin_1_1 = paramsToRetrieveFromSuccessfulLogin_1.next()) {
@@ -239,8 +251,10 @@ function createOidc(params) {
239
251
  }
240
252
  finally { if (e_1) throw e_1.error; }
241
253
  }
254
+ log === null || log === void 0 ? void 0 : log("removing params from url");
242
255
  window.history.pushState(null, "", url);
243
256
  user = undefined;
257
+ log === null || log === void 0 ? void 0 : log("signinRedirectCallback called");
244
258
  _d.label = 1;
245
259
  case 1:
246
260
  _d.trys.push([1, 3, , 4]);
@@ -251,14 +265,18 @@ function createOidc(params) {
251
265
  case 3:
252
266
  _a = _d.sent();
253
267
  //NOTE: The user has likely pressed the back button just after logging in.
268
+ log === null || log === void 0 ? void 0 : log("signinRedirectCallback failed, The user has likely pressed the back button just after logging in.");
254
269
  return [2 /*return*/, undefined];
255
- case 4: return [2 /*return*/, user];
270
+ case 4:
271
+ log === null || log === void 0 ? void 0 : log("read_successful_login_query_params succeeded", user);
272
+ return [2 /*return*/, user];
256
273
  case 5: return [4 /*yield*/, userManager.getUser()];
257
274
  case 6:
258
275
  user = _d.sent();
259
276
  if (user === null) {
260
277
  return [3 /*break*/, 11];
261
278
  }
279
+ log === null || log === void 0 ? void 0 : log("restore_from_session succeeded");
262
280
  _d.label = 7;
263
281
  case 7:
264
282
  _d.trys.push([7, 9, , 10]);
@@ -268,15 +286,23 @@ function createOidc(params) {
268
286
  return [3 /*break*/, 10];
269
287
  case 9:
270
288
  _b = _d.sent();
289
+ // The server might have restarted and the session might have been lost.
290
+ log === null || log === void 0 ? void 0 : log("restore_from_session failed, The server might have restarted and the session might have been lost.");
271
291
  return [2 /*return*/, undefined];
272
- case 10: return [2 /*return*/, user];
292
+ case 10:
293
+ log === null || log === void 0 ? void 0 : log("restore_from_session succeeded", user);
294
+ return [2 /*return*/, user];
273
295
  case 11:
296
+ log === null || log === void 0 ? void 0 : log("restore_from_http_only_cookie");
274
297
  dLoginSuccessUrl_1 = new Deferred_1.Deferred();
298
+ timeoutDelayMs = log === undefined ? 2500 : 15000;
299
+ log === null || log === void 0 ? void 0 : log("restore_from_http_only_cookie timeoutDelayMs", timeoutDelayMs);
275
300
  timeout_1 = setTimeout(function () {
276
301
  return dLoginSuccessUrl_1.reject(new Error("SSO silent login timeout with clientId: ".concat(clientId)));
277
- }, 2500);
302
+ }, timeoutDelayMs);
278
303
  listener_1 = function (event) {
279
304
  var e_2, _a;
305
+ log === null || log === void 0 ? void 0 : log("restore_from_http_only_cookie iframe message event", event);
280
306
  if (typeof event.data !== "string") {
281
307
  return;
282
308
  }
@@ -287,10 +313,12 @@ function createOidc(params) {
287
313
  result = (0, urlQueryParams_1.retrieveQueryParamFromUrl)({ "name": configHashKey, url: url });
288
314
  }
289
315
  catch (_b) {
316
+ log === null || log === void 0 ? void 0 : log("Ignore this event, it's not for us, the event.data is not a valid url.");
290
317
  // This could possibly happen if url is not a valid url.
291
318
  return;
292
319
  }
293
320
  if (!result.wasPresent || result.value !== configHash) {
321
+ log === null || log === void 0 ? void 0 : log("Ignore this event it's not our configHash", result);
294
322
  return;
295
323
  }
296
324
  }
@@ -326,18 +354,23 @@ function createOidc(params) {
326
354
  dLoginSuccessUrl_1.resolve(loginSuccessUrl);
327
355
  };
328
356
  window.addEventListener("message", listener_1, false);
329
- userManager.signinSilent({ "silentRequestTimeoutInSeconds": 1 }).catch(function () {
357
+ userManager
358
+ .signinSilent({ "silentRequestTimeoutInSeconds": timeoutDelayMs / 1000 })
359
+ .catch(function (error) {
330
360
  /* error expected */
361
+ log === null || log === void 0 ? void 0 : log("restore_from_http_only_cookie signinSilent EXPECTED error (it's not an error actually)", error);
331
362
  });
332
363
  return [4 /*yield*/, dLoginSuccessUrl_1.pr];
333
364
  case 12:
334
365
  loginSuccessUrl = _d.sent();
366
+ log === null || log === void 0 ? void 0 : log("restore_from_http_only_cookie loginSuccessUrl", loginSuccessUrl);
335
367
  if (loginSuccessUrl === undefined) {
336
368
  return [3 /*break*/, 14];
337
369
  }
338
370
  return [4 /*yield*/, userManager.signinRedirectCallback(loginSuccessUrl)];
339
371
  case 13:
340
372
  user = _d.sent();
373
+ log === null || log === void 0 ? void 0 : log("restore_from_http_only_cookie user", user);
341
374
  return [2 /*return*/, user];
342
375
  case 14: return [2 /*return*/, undefined];
343
376
  }
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,6 +1,6 @@
1
1
  {
2
2
  "name": "oidc-spa",
3
- "version": "2.2.0",
3
+ "version": "2.2.2-rc.0",
4
4
  "description": "Openidconnect client for Single Page Applications",
5
5
  "repository": {
6
6
  "type": "git",
package/src/oidc.ts CHANGED
@@ -63,15 +63,19 @@ export async function createOidc(params: {
63
63
  * you are supposed to have created in your `public/` directory.
64
64
  */
65
65
  publicUrl?: string;
66
+ log?: typeof console.log;
66
67
  }): Promise<Oidc> {
67
68
  const {
68
69
  issuerUri,
69
70
  clientId,
70
71
  transformUrlBeforeRedirect = url => url,
71
72
  getExtraQueryParams,
72
- publicUrl: publicUrl_params
73
+ publicUrl: publicUrl_params,
74
+ log
73
75
  } = params;
74
76
 
77
+ log?.(`createOidc called with params:`, params);
78
+
75
79
  const publicUrl = (() => {
76
80
  if (publicUrl_params === undefined) {
77
81
  return window.location.origin;
@@ -84,6 +88,8 @@ export async function createOidc(params: {
84
88
  ).replace(/\/$/, "");
85
89
  })();
86
90
 
91
+ log?.(`Using publicUrl: ${publicUrl}`);
92
+
87
93
  const configHash = fnv1aHashToHex(`${issuerUri} ${clientId}`);
88
94
  const configHashKey = "configHash";
89
95
 
@@ -102,7 +108,11 @@ export async function createOidc(params: {
102
108
  {
103
109
  const realPushState = history.pushState.bind(history);
104
110
  history.pushState = function pushState(...args) {
105
- lastPublicRoute = window.location.href;
111
+ const newLastPublicRoute = window.location.href;
112
+
113
+ log?.(`pushState called`, { lastPublicRoute, newLastPublicRoute });
114
+
115
+ lastPublicRoute = newLastPublicRoute;
106
116
  return realPushState(...args);
107
117
  };
108
118
  }
@@ -116,6 +126,8 @@ export async function createOidc(params: {
116
126
  // used internally by oidc-client-ts. It's save to do so since this is the
117
127
  // last thing that will be done before the redirect.
118
128
 
129
+ log?.("login called", { doesCurrentHrefRequiresAuth, extraQueryParams });
130
+
119
131
  const URL_real = window.URL;
120
132
 
121
133
  function URL(...args: ConstructorParameters<typeof URL_real>) {
@@ -172,9 +184,13 @@ export async function createOidc(params: {
172
184
  document.addEventListener("visibilitychange", callback);
173
185
  }
174
186
 
187
+ const redirectMethod = doesCurrentHrefRequiresAuth ? "replace" : "assign";
188
+
189
+ log?.("signinRedirect called", { redirect_uri, redirectMethod });
190
+
175
191
  await userManager.signinRedirect({
176
192
  redirect_uri,
177
- "redirectMethod": doesCurrentHrefRequiresAuth ? "replace" : "assign"
193
+ redirectMethod
178
194
  });
179
195
  return new Promise<never>(() => {});
180
196
  };
@@ -201,6 +217,8 @@ export async function createOidc(params: {
201
217
  }
202
218
  }
203
219
 
220
+ log?.("read_successful_login_query_params");
221
+
204
222
  let loginSuccessUrl = "https://dummy.com";
205
223
 
206
224
  for (const name of paramsToRetrieveFromSuccessfulLogin) {
@@ -217,17 +235,26 @@ export async function createOidc(params: {
217
235
  url = result.newUrl;
218
236
  }
219
237
 
238
+ log?.("removing params from url");
239
+
220
240
  window.history.pushState(null, "", url);
221
241
 
222
242
  let user: User | undefined = undefined;
223
243
 
244
+ log?.("signinRedirectCallback called");
245
+
224
246
  try {
225
247
  user = await userManager.signinRedirectCallback(loginSuccessUrl);
226
248
  } catch {
227
249
  //NOTE: The user has likely pressed the back button just after logging in.
250
+ log?.(
251
+ "signinRedirectCallback failed, The user has likely pressed the back button just after logging in."
252
+ );
228
253
  return undefined;
229
254
  }
230
255
 
256
+ log?.("read_successful_login_query_params succeeded", user);
257
+
231
258
  return user;
232
259
  }
233
260
 
@@ -238,28 +265,43 @@ export async function createOidc(params: {
238
265
  break restore_from_session;
239
266
  }
240
267
 
241
- // The server might have restarted and the session might have been lost.
268
+ log?.("restore_from_session succeeded");
269
+
242
270
  try {
243
271
  await userManager.signinSilent();
244
272
  } catch {
273
+ // The server might have restarted and the session might have been lost.
274
+ log?.(
275
+ "restore_from_session failed, The server might have restarted and the session might have been lost."
276
+ );
245
277
  return undefined;
246
278
  }
247
279
 
280
+ log?.("restore_from_session succeeded", user);
281
+
248
282
  return user;
249
283
  }
250
284
 
251
285
  restore_from_http_only_cookie: {
286
+ log?.("restore_from_http_only_cookie");
287
+
252
288
  const dLoginSuccessUrl = new Deferred<string | undefined>();
253
289
 
290
+ const timeoutDelayMs = log === undefined ? 2500 : 15_000;
291
+
292
+ log?.("restore_from_http_only_cookie timeoutDelayMs", timeoutDelayMs);
293
+
254
294
  const timeout = setTimeout(
255
295
  () =>
256
296
  dLoginSuccessUrl.reject(
257
297
  new Error(`SSO silent login timeout with clientId: ${clientId}`)
258
298
  ),
259
- 2500
299
+ timeoutDelayMs
260
300
  );
261
301
 
262
302
  const listener = (event: MessageEvent) => {
303
+ log?.("restore_from_http_only_cookie iframe message event", event);
304
+
263
305
  if (typeof event.data !== "string") {
264
306
  return;
265
307
  }
@@ -272,11 +314,13 @@ export async function createOidc(params: {
272
314
  try {
273
315
  result = retrieveQueryParamFromUrl({ "name": configHashKey, url });
274
316
  } catch {
317
+ log?.("Ignore this event, it's not for us, the event.data is not a valid url.");
275
318
  // This could possibly happen if url is not a valid url.
276
319
  return;
277
320
  }
278
321
 
279
322
  if (!result.wasPresent || result.value !== configHash) {
323
+ log?.("Ignore this event it's not our configHash", result);
280
324
  return;
281
325
  }
282
326
  }
@@ -313,18 +357,28 @@ export async function createOidc(params: {
313
357
 
314
358
  window.addEventListener("message", listener, false);
315
359
 
316
- userManager.signinSilent({ "silentRequestTimeoutInSeconds": 1 }).catch(() => {
317
- /* error expected */
318
- });
360
+ userManager
361
+ .signinSilent({ "silentRequestTimeoutInSeconds": timeoutDelayMs / 1000 })
362
+ .catch(error => {
363
+ /* error expected */
364
+ log?.(
365
+ "restore_from_http_only_cookie signinSilent EXPECTED error (it's not an error actually)",
366
+ error
367
+ );
368
+ });
319
369
 
320
370
  const loginSuccessUrl = await dLoginSuccessUrl.pr;
321
371
 
372
+ log?.("restore_from_http_only_cookie loginSuccessUrl", loginSuccessUrl);
373
+
322
374
  if (loginSuccessUrl === undefined) {
323
375
  break restore_from_http_only_cookie;
324
376
  }
325
377
 
326
378
  const user = await userManager.signinRedirectCallback(loginSuccessUrl);
327
379
 
380
+ log?.("restore_from_http_only_cookie user", user);
381
+
328
382
  return user;
329
383
  }
330
384