@inrupt/solid-client-authn-browser 1.12.4 → 1.13.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.
Files changed (76) hide show
  1. package/dist/ClientAuthentication.js +5 -1
  2. package/dist/ClientAuthentication.js.map +1 -1
  3. package/dist/login/oidc/IssuerConfigFetcher.js +1 -2
  4. package/dist/login/oidc/IssuerConfigFetcher.js.map +1 -1
  5. package/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.js +4 -0
  6. package/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.js.map +1 -1
  7. package/dist/solid-client-authn.bundle.js +1 -1
  8. package/package.json +4 -4
  9. package/src/ClientAuthentication.spec.ts +73 -21
  10. package/src/ClientAuthentication.ts +33 -25
  11. package/src/Session.spec.ts +20 -20
  12. package/src/Session.ts +20 -20
  13. package/src/__mocks__/ClientAuthentication.ts +20 -20
  14. package/src/constant.ts +20 -20
  15. package/src/defaultSession.spec.ts +20 -20
  16. package/src/defaultSession.ts +20 -20
  17. package/src/dependencies.node.spec.ts +20 -20
  18. package/src/dependencies.spec.ts +20 -20
  19. package/src/dependencies.ts +20 -20
  20. package/src/index.browser.spec.ts +20 -20
  21. package/src/index.browser.ts +20 -20
  22. package/src/index.spec.ts +20 -20
  23. package/src/index.ts +20 -20
  24. package/src/login/__mocks__/LoginHandler.ts +20 -20
  25. package/src/login/oidc/AggregateOidcHandler.spec.ts +20 -20
  26. package/src/login/oidc/AggregateOidcHandler.ts +20 -20
  27. package/src/login/oidc/AggregateRedirectHandler.ts +20 -20
  28. package/src/login/oidc/ClientRegistrar.spec.ts +20 -20
  29. package/src/login/oidc/ClientRegistrar.ts +20 -20
  30. package/src/login/oidc/IssuerConfigFetcher.spec.ts +20 -20
  31. package/src/login/oidc/IssuerConfigFetcher.ts +21 -25
  32. package/src/login/oidc/OidcLoginHandler.spec.ts +20 -20
  33. package/src/login/oidc/OidcLoginHandler.ts +20 -20
  34. package/src/login/oidc/Redirector.spec.ts +20 -20
  35. package/src/login/oidc/Redirector.ts +20 -20
  36. package/src/login/oidc/__mocks__/ClientRegistrar.ts +20 -20
  37. package/src/login/oidc/__mocks__/IOidcHandler.ts +20 -20
  38. package/src/login/oidc/__mocks__/IOidcOptions.ts +20 -20
  39. package/src/login/oidc/__mocks__/IssuerConfigFetcher.ts +20 -20
  40. package/src/login/oidc/__mocks__/Redirector.ts +20 -20
  41. package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.spec.ts +42 -20
  42. package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts +28 -20
  43. package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.spec.ts +20 -20
  44. package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts +20 -20
  45. package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.spec.ts +20 -20
  46. package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts +20 -20
  47. package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.spec.ts +20 -20
  48. package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts +20 -20
  49. package/src/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.ts +20 -20
  50. package/src/login/oidc/refresh/TokenRefresher.spec.ts +20 -20
  51. package/src/login/oidc/refresh/TokenRefresher.ts +20 -20
  52. package/src/login/oidc/refresh/__mocks__/TokenRefresher.ts +20 -20
  53. package/src/logout/GeneralLogoutHandler.spec.ts +20 -20
  54. package/src/logout/GeneralLogoutHandler.ts +20 -20
  55. package/src/logout/__mocks__/LogoutHandler.ts +20 -20
  56. package/src/sessionInfo/SessionInfoManager.spec.ts +20 -20
  57. package/src/sessionInfo/SessionInfoManager.ts +20 -20
  58. package/src/sessionInfo/__mocks__/SessionInfoManager.ts +20 -20
  59. package/src/storage/BrowserStorage.spec.ts +20 -20
  60. package/src/storage/BrowserStorage.ts +20 -20
  61. package/src/storage/StorageUtility.ts +20 -20
  62. package/src/storage/__mocks__/LocalStorage.ts +20 -20
  63. package/src/util/UUIDGenerator.spec.ts +20 -20
  64. package/src/util/UuidGenerator.ts +20 -20
  65. package/src/util/__mocks__/UuidGenerator.ts +20 -20
  66. package/webpack.browser.js +20 -0
  67. package/webpack.common.js +20 -0
  68. package/webpack.config.js +20 -0
  69. package/webpack.dev.js +20 -0
  70. package/webpack.prod.js +20 -0
  71. package/.eslintrc.js +0 -4
  72. package/dist/util/urlPath.d.ts +0 -1
  73. package/dist/util/urlPath.js +0 -11
  74. package/dist/util/urlPath.js.map +0 -1
  75. package/src/util/urlPath.spec.ts +0 -55
  76. package/src/util/urlPath.ts +0 -41
@@ -13,7 +13,10 @@ class ClientAuthentication {
13
13
  this.login = async (options, eventEmitter) => {
14
14
  var _a, _b;
15
15
  await this.sessionInfoManager.clear(options.sessionId);
16
- const redirectUrl = (0, oidc_client_ext_1.removeOidcQueryParam)((_a = options.redirectUrl) !== null && _a !== void 0 ? _a : window.location.href);
16
+ const redirectUrl = (_a = options.redirectUrl) !== null && _a !== void 0 ? _a : (0, oidc_client_ext_1.removeOidcQueryParam)(window.location.href);
17
+ if (!(0, solid_client_authn_core_1.isValidRedirectUrl)(redirectUrl)) {
18
+ throw new Error(`${redirectUrl} is not a valid redirect URL, it is either a malformed IRI or it includes a hash fragment.`);
19
+ }
17
20
  await this.loginHandler.handle({
18
21
  ...options,
19
22
  redirectUrl,
@@ -68,6 +71,7 @@ class ClientAuthentication {
68
71
  cleanedUpUrl.searchParams.delete("access_token");
69
72
  cleanedUpUrl.searchParams.delete("error");
70
73
  cleanedUpUrl.searchParams.delete("error_description");
74
+ cleanedUpUrl.searchParams.delete("iss");
71
75
  window.history.replaceState(null, "", cleanedUpUrl.toString());
72
76
  }
73
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ClientAuthentication.js","sourceRoot":"","sources":["../src/ClientAuthentication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientAuthentication.js","sourceRoot":"","sources":["../src/ClientAuthentication.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WELL_KNOWN_OPENID_CONFIG = void 0;
4
4
  const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
5
- const urlPath_1 = require("../../util/urlPath");
6
5
  exports.WELL_KNOWN_OPENID_CONFIG = ".well-known/openid-configuration";
7
6
  const issuerConfigKeyMap = {
8
7
  issuer: {
@@ -108,7 +107,7 @@ class IssuerConfigFetcher {
108
107
  }
109
108
  async fetchConfig(issuer) {
110
109
  let issuerConfig;
111
- const openIdConfigUrl = (0, urlPath_1.appendToUrlPathname)(issuer, exports.WELL_KNOWN_OPENID_CONFIG);
110
+ const openIdConfigUrl = new URL(exports.WELL_KNOWN_OPENID_CONFIG, issuer).href;
112
111
  const issuerConfigRequestBody = await window.fetch(openIdConfigUrl);
113
112
  try {
114
113
  issuerConfig = processConfig(await issuerConfigRequestBody.json());
@@ -1 +1 @@
1
- {"version":3,"file":"IssuerConfigFetcher.js","sourceRoot":"","sources":["../../../src/login/oidc/IssuerConfigFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssuerConfigFetcher.js","sourceRoot":"","sources":["../../../src/login/oidc/IssuerConfigFetcher.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,10 @@ class AuthCodeRedirectHandler {
31
31
  errorIfNull: true,
32
32
  }));
33
33
  const { issuerConfig, codeVerifier, redirectUrl: storedRedirectIri, dpop: isDpop, } = await (0, solid_client_authn_core_1.loadOidcContextFromStorage)(storedSessionId, this.storageUtility, this.issuerConfigFetcher);
34
+ const iss = url.searchParams.get("iss");
35
+ if (typeof iss === "string" && iss !== issuerConfig.issuer) {
36
+ throw new Error(`The value of the iss parameter (${iss}) does not match the issuer identifier of the authorization server (${issuerConfig.issuer}). See [rfc9207](https://www.rfc-editor.org/rfc/rfc9207.html#section-2.3-3.1.1)`);
37
+ }
34
38
  if (codeVerifier === undefined) {
35
39
  throw new Error(`The code verifier for session ${storedSessionId} is missing from storage.`);
36
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AuthCodeRedirectHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthCodeRedirectHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts"],"names":[],"mappings":"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"}