@inrupt/solid-client-authn-browser 1.16.0 → 1.17.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.
Files changed (141) hide show
  1. package/dist/ClientAuthentication.d.ts +4 -13
  2. package/dist/Session.d.ts +4 -4
  3. package/dist/dependencies.d.ts +1 -1
  4. package/dist/index.js +772 -28
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +745 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/dist/login/oidc/AggregateOidcHandler.d.ts +2 -1
  9. package/dist/login/oidc/AggregateRedirectHandler.d.ts +2 -1
  10. package/dist/login/oidc/ClientRegistrar.d.ts +1 -1
  11. package/dist/login/oidc/IssuerConfigFetcher.d.ts +1 -1
  12. package/dist/login/oidc/OidcLoginHandler.d.ts +1 -1
  13. package/dist/login/oidc/Redirector.d.ts +1 -1
  14. package/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.d.ts +3 -6
  15. package/dist/login/oidc/incomingRedirectHandler/ErrorOidcHandler.d.ts +1 -1
  16. package/dist/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.d.ts +1 -1
  17. package/dist/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.d.ts +3 -6
  18. package/dist/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.d.ts +1 -1
  19. package/dist/login/oidc/refresh/TokenRefresher.d.ts +2 -2
  20. package/dist/logout/buildRpInitiatedLogout.d.ts +2 -0
  21. package/dist/sessionInfo/SessionInfoManager.d.ts +4 -13
  22. package/dist/solid-client-authn.bundle.js +32 -2
  23. package/dist/solid-client-authn.bundle.js.map +1 -0
  24. package/dist/storage/BrowserStorage.d.ts +1 -1
  25. package/dist/storage/StorageUtility.d.ts +2 -1
  26. package/package.json +17 -17
  27. package/rollup.config.mjs +46 -0
  28. package/src/ClientAuthentication.spec.ts +4 -4
  29. package/src/ClientAuthentication.ts +8 -45
  30. package/src/Session.spec.ts +4 -4
  31. package/src/Session.ts +44 -13
  32. package/src/__mocks__/ClientAuthentication.ts +3 -3
  33. package/src/constant.ts +1 -1
  34. package/src/defaultSession.spec.ts +1 -1
  35. package/src/defaultSession.ts +5 -3
  36. package/src/dependencies.node.spec.ts +1 -1
  37. package/src/dependencies.spec.ts +1 -1
  38. package/src/dependencies.ts +10 -5
  39. package/src/index.browser.spec.ts +1 -1
  40. package/src/index.browser.ts +1 -1
  41. package/src/index.spec.ts +1 -1
  42. package/src/index.ts +1 -1
  43. package/src/login/__mocks__/LoginHandler.ts +2 -2
  44. package/src/login/oidc/AggregateOidcHandler.spec.ts +3 -5
  45. package/src/login/oidc/AggregateOidcHandler.ts +3 -3
  46. package/src/login/oidc/AggregateRedirectHandler.ts +3 -3
  47. package/src/login/oidc/ClientRegistrar.spec.ts +1 -1
  48. package/src/login/oidc/ClientRegistrar.ts +2 -2
  49. package/src/login/oidc/IssuerConfigFetcher.spec.ts +8 -4
  50. package/src/login/oidc/IssuerConfigFetcher.ts +7 -3
  51. package/src/login/oidc/OidcLoginHandler.spec.ts +3 -5
  52. package/src/login/oidc/OidcLoginHandler.ts +5 -3
  53. package/src/login/oidc/Redirector.spec.ts +1 -1
  54. package/src/login/oidc/Redirector.ts +2 -2
  55. package/src/login/oidc/__mocks__/ClientRegistrar.ts +2 -2
  56. package/src/login/oidc/__mocks__/IOidcHandler.ts +2 -2
  57. package/src/login/oidc/__mocks__/IOidcOptions.ts +2 -2
  58. package/src/login/oidc/__mocks__/IssuerConfigFetcher.ts +2 -2
  59. package/src/login/oidc/__mocks__/Redirector.ts +2 -2
  60. package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.spec.ts +37 -39
  61. package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts +17 -13
  62. package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.spec.ts +3 -4
  63. package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts +3 -3
  64. package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.spec.ts +3 -4
  65. package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts +2 -2
  66. package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.spec.ts +3 -3
  67. package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts +13 -51
  68. package/src/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.ts +2 -2
  69. package/src/login/oidc/refresh/TokenRefresher.spec.ts +7 -6
  70. package/src/login/oidc/refresh/TokenRefresher.ts +6 -4
  71. package/src/login/oidc/refresh/__mocks__/TokenRefresher.ts +2 -2
  72. package/src/logout/{GeneralLogoutHandler.ts → buildRpInitiatedLogout.ts} +21 -20
  73. package/src/sessionInfo/SessionInfoManager.spec.ts +2 -2
  74. package/src/sessionInfo/SessionInfoManager.ts +13 -91
  75. package/src/sessionInfo/__mocks__/SessionInfoManager.ts +2 -2
  76. package/src/storage/BrowserStorage.spec.ts +1 -1
  77. package/src/storage/BrowserStorage.ts +2 -2
  78. package/src/storage/StorageUtility.ts +3 -2
  79. package/src/storage/__mocks__/LocalStorage.ts +1 -1
  80. package/src/util/UUIDGenerator.spec.ts +1 -1
  81. package/src/util/UuidGenerator.ts +1 -1
  82. package/src/util/__mocks__/UuidGenerator.ts +2 -2
  83. package/dist/ClientAuthentication.js +0 -80
  84. package/dist/ClientAuthentication.js.map +0 -1
  85. package/dist/Session.js +0 -150
  86. package/dist/Session.js.map +0 -1
  87. package/dist/constant.js +0 -7
  88. package/dist/constant.js.map +0 -1
  89. package/dist/defaultSession.js +0 -52
  90. package/dist/defaultSession.js.map +0 -1
  91. package/dist/dependencies.js +0 -41
  92. package/dist/dependencies.js.map +0 -1
  93. package/dist/index.browser.js +0 -28
  94. package/dist/index.browser.js.map +0 -1
  95. package/dist/login/oidc/AggregateOidcHandler.js +0 -10
  96. package/dist/login/oidc/AggregateOidcHandler.js.map +0 -1
  97. package/dist/login/oidc/AggregateRedirectHandler.js +0 -10
  98. package/dist/login/oidc/AggregateRedirectHandler.js.map +0 -1
  99. package/dist/login/oidc/ClientRegistrar.js +0 -47
  100. package/dist/login/oidc/ClientRegistrar.js.map +0 -1
  101. package/dist/login/oidc/IssuerConfigFetcher.js +0 -124
  102. package/dist/login/oidc/IssuerConfigFetcher.js.map +0 -1
  103. package/dist/login/oidc/OidcLoginHandler.js +0 -40
  104. package/dist/login/oidc/OidcLoginHandler.js.map +0 -1
  105. package/dist/login/oidc/Redirector.js +0 -17
  106. package/dist/login/oidc/Redirector.js.map +0 -1
  107. package/dist/login/oidc/__mocks__/IOidcOptions.d.ts +0 -2
  108. package/dist/login/oidc/__mocks__/IOidcOptions.js +0 -25
  109. package/dist/login/oidc/__mocks__/IOidcOptions.js.map +0 -1
  110. package/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.js +0 -91
  111. package/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.js.map +0 -1
  112. package/dist/login/oidc/incomingRedirectHandler/ErrorOidcHandler.js +0 -26
  113. package/dist/login/oidc/incomingRedirectHandler/ErrorOidcHandler.js.map +0 -1
  114. package/dist/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.js +0 -20
  115. package/dist/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.js.map +0 -1
  116. package/dist/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.js +0 -56
  117. package/dist/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.js.map +0 -1
  118. package/dist/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.js +0 -47
  119. package/dist/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.js.map +0 -1
  120. package/dist/login/oidc/refresh/TokenRefresher.js +0 -31
  121. package/dist/login/oidc/refresh/TokenRefresher.js.map +0 -1
  122. package/dist/logout/GeneralLogoutHandler.d.ts +0 -7
  123. package/dist/logout/GeneralLogoutHandler.js +0 -15
  124. package/dist/logout/GeneralLogoutHandler.js.map +0 -1
  125. package/dist/sessionInfo/SessionInfoManager.js +0 -96
  126. package/dist/sessionInfo/SessionInfoManager.js.map +0 -1
  127. package/dist/solid-client-authn.bundle.js.LICENSE.txt +0 -17
  128. package/dist/storage/BrowserStorage.js +0 -18
  129. package/dist/storage/BrowserStorage.js.map +0 -1
  130. package/dist/storage/StorageUtility.js +0 -10
  131. package/dist/storage/StorageUtility.js.map +0 -1
  132. package/dist/util/UuidGenerator.js +0 -10
  133. package/dist/util/UuidGenerator.js.map +0 -1
  134. package/licenses.csv +0 -147
  135. package/src/logout/GeneralLogoutHandler.spec.ts +0 -72
  136. package/src/logout/__mocks__/LogoutHandler.ts +0 -38
  137. package/webpack.browser.js +0 -39
  138. package/webpack.common.js +0 -42
  139. package/webpack.config.js +0 -28
  140. package/webpack.dev.js +0 -37
  141. package/webpack.prod.js +0 -23
@@ -1 +0,0 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":";;;AAqBA,6EAAgF;AAEnE,QAAA,mBAAmB,GAAG,GAAG,uDAA6B,gBAAgB,CAAC;AAEvE,QAAA,eAAe,GAAG,GAAG,uDAA6B,YAAY,CAAC"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.events = exports.onSessionRestore = exports.onLogout = exports.onLogin = exports.handleIncomingRedirect = exports.logout = exports.login = exports.fetch = exports.getDefaultSession = void 0;
4
- const Session_1 = require("./Session");
5
- let defaultSession;
6
- function getDefaultSession() {
7
- if (typeof defaultSession === "undefined") {
8
- defaultSession = new Session_1.Session();
9
- }
10
- return defaultSession;
11
- }
12
- exports.getDefaultSession = getDefaultSession;
13
- const fetch = (...args) => {
14
- const session = getDefaultSession();
15
- return session.fetch(...args);
16
- };
17
- exports.fetch = fetch;
18
- const login = (...args) => {
19
- const session = getDefaultSession();
20
- return session.login(...args);
21
- };
22
- exports.login = login;
23
- const logout = (...args) => {
24
- const session = getDefaultSession();
25
- return session.logout(...args);
26
- };
27
- exports.logout = logout;
28
- const handleIncomingRedirect = (...args) => {
29
- const session = getDefaultSession();
30
- return session.handleIncomingRedirect(...args);
31
- };
32
- exports.handleIncomingRedirect = handleIncomingRedirect;
33
- const onLogin = (...args) => {
34
- const session = getDefaultSession();
35
- return session.onLogin(...args);
36
- };
37
- exports.onLogin = onLogin;
38
- const onLogout = (...args) => {
39
- const session = getDefaultSession();
40
- return session.onLogout(...args);
41
- };
42
- exports.onLogout = onLogout;
43
- const onSessionRestore = (...args) => {
44
- const session = getDefaultSession();
45
- return session.onSessionRestore(...args);
46
- };
47
- exports.onSessionRestore = onSessionRestore;
48
- const events = () => {
49
- return getDefaultSession().events;
50
- };
51
- exports.events = events;
52
- //# sourceMappingURL=defaultSession.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaultSession.js","sourceRoot":"","sources":["../src/defaultSession.ts"],"names":[],"mappings":";;;AAqBA,uCAAoC;AAEpC,IAAI,cAAmC,CAAC;AAYxC,SAAgB,iBAAiB;IAC/B,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;QACzC,cAAc,GAAG,IAAI,iBAAO,EAAE,CAAC;KAChC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AALD,8CAKC;AAWM,MAAM,KAAK,GAAqB,CAAC,GAAG,IAAI,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAChC,CAAC,CAAC;AAHW,QAAA,KAAK,SAGhB;AASK,MAAM,KAAK,GAAqB,CAAC,GAAG,IAAI,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAChC,CAAC,CAAC;AAHW,QAAA,KAAK,SAGhB;AAQK,MAAM,MAAM,GAAsB,CAAC,GAAG,IAAI,EAAE,EAAE;IACnD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC;AAHW,QAAA,MAAM,UAGjB;AAQK,MAAM,sBAAsB,GAAsC,CACvE,GAAG,IAAI,EACP,EAAE;IACF,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,CAAC;AACjD,CAAC,CAAC;AALW,QAAA,sBAAsB,0BAKjC;AAYK,MAAM,OAAO,GAAuB,CAAC,GAAG,IAAI,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB;AAUK,MAAM,QAAQ,GAAwB,CAAC,GAAG,IAAI,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAHW,QAAA,QAAQ,YAGnB;AASK,MAAM,gBAAgB,GAAgC,CAAC,GAAG,IAAI,EAAE,EAAE;IACvE,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3C,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAOK,MAAM,MAAM,GAAG,GAAsB,EAAE;IAC5C,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC;AACpC,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getClientAuthenticationWithDependencies = void 0;
7
- const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
8
- const StorageUtility_1 = __importDefault(require("./storage/StorageUtility"));
9
- const ClientAuthentication_1 = __importDefault(require("./ClientAuthentication"));
10
- const OidcLoginHandler_1 = __importDefault(require("./login/oidc/OidcLoginHandler"));
11
- const AuthorizationCodeWithPkceOidcHandler_1 = __importDefault(require("./login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler"));
12
- const IssuerConfigFetcher_1 = __importDefault(require("./login/oidc/IssuerConfigFetcher"));
13
- const FallbackRedirectHandler_1 = require("./login/oidc/incomingRedirectHandler/FallbackRedirectHandler");
14
- const GeneralLogoutHandler_1 = __importDefault(require("./logout/GeneralLogoutHandler"));
15
- const SessionInfoManager_1 = require("./sessionInfo/SessionInfoManager");
16
- const AuthCodeRedirectHandler_1 = require("./login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler");
17
- const AggregateRedirectHandler_1 = __importDefault(require("./login/oidc/AggregateRedirectHandler"));
18
- const BrowserStorage_1 = __importDefault(require("./storage/BrowserStorage"));
19
- const Redirector_1 = __importDefault(require("./login/oidc/Redirector"));
20
- const ClientRegistrar_1 = __importDefault(require("./login/oidc/ClientRegistrar"));
21
- const ErrorOidcHandler_1 = require("./login/oidc/incomingRedirectHandler/ErrorOidcHandler");
22
- const TokenRefresher_1 = __importDefault(require("./login/oidc/refresh/TokenRefresher"));
23
- function getClientAuthenticationWithDependencies(dependencies) {
24
- const inMemoryStorage = new solid_client_authn_core_1.InMemoryStorage();
25
- const secureStorage = dependencies.secureStorage || inMemoryStorage;
26
- const insecureStorage = dependencies.insecureStorage || new BrowserStorage_1.default();
27
- const storageUtility = new StorageUtility_1.default(secureStorage, insecureStorage);
28
- const issuerConfigFetcher = new IssuerConfigFetcher_1.default(storageUtility);
29
- const clientRegistrar = new ClientRegistrar_1.default(storageUtility);
30
- const sessionInfoManager = new SessionInfoManager_1.SessionInfoManager(storageUtility);
31
- const tokenRefresher = new TokenRefresher_1.default(storageUtility, issuerConfigFetcher, clientRegistrar);
32
- const loginHandler = new OidcLoginHandler_1.default(storageUtility, new AuthorizationCodeWithPkceOidcHandler_1.default(storageUtility, new Redirector_1.default()), issuerConfigFetcher, clientRegistrar);
33
- const redirectHandler = new AggregateRedirectHandler_1.default([
34
- new ErrorOidcHandler_1.ErrorOidcHandler(),
35
- new AuthCodeRedirectHandler_1.AuthCodeRedirectHandler(storageUtility, sessionInfoManager, issuerConfigFetcher, clientRegistrar, tokenRefresher),
36
- new FallbackRedirectHandler_1.FallbackRedirectHandler(),
37
- ]);
38
- return new ClientAuthentication_1.default(loginHandler, redirectHandler, new GeneralLogoutHandler_1.default(sessionInfoManager), sessionInfoManager, issuerConfigFetcher);
39
- }
40
- exports.getClientAuthenticationWithDependencies = getClientAuthenticationWithDependencies;
41
- //# sourceMappingURL=dependencies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":";;;;;;AA6BA,6EAA4E;AAC5E,8EAA6D;AAC7D,kFAA0D;AAC1D,qFAA6D;AAC7D,0IAAkH;AAClH,2FAAmE;AACnE,0GAAuG;AACvG,yFAAiE;AACjE,yEAAsE;AACtE,0GAAuG;AACvG,qGAA6E;AAC7E,8EAAsD;AACtD,yEAAiD;AACjD,mFAA2D;AAC3D,4FAAyF;AACzF,yFAAiE;AAOjE,SAAgB,uCAAuC,CAAC,YAGvD;IACC,MAAM,eAAe,GAAG,IAAI,yCAAe,EAAE,CAAC;IAC9C,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,eAAe,CAAC;IACpE,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,IAAI,IAAI,wBAAc,EAAE,CAAC;IAE7E,MAAM,cAAc,GAAG,IAAI,wBAAqB,CAC9C,aAAa,EACb,eAAe,CAChB,CAAC;IAEF,MAAM,mBAAmB,GAAG,IAAI,6BAAmB,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,IAAI,yBAAe,CAAC,cAAc,CAAC,CAAC;IAE5D,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,cAAc,CAAC,CAAC;IAElE,MAAM,cAAc,GAAG,IAAI,wBAAc,CACvC,cAAc,EACd,mBAAmB,EACnB,eAAe,CAChB,CAAC;IAGF,MAAM,YAAY,GAAG,IAAI,0BAAgB,CACvC,cAAc,EACd,IAAI,8CAAoC,CAAC,cAAc,EAAE,IAAI,oBAAU,EAAE,CAAC,EAC1E,mBAAmB,EACnB,eAAe,CAChB,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,kCAAwB,CAAC;QACnD,IAAI,mCAAgB,EAAE;QACtB,IAAI,iDAAuB,CACzB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,cAAc,CACf;QAGD,IAAI,iDAAuB,EAAE;KAC9B,CAAC,CAAC;IAEH,OAAO,IAAI,8BAAoB,CAC7B,YAAY,EACZ,eAAe,EACf,IAAI,8BAAoB,CAAC,kBAAkB,CAAC,EAC5C,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;AACJ,CAAC;AArDD,0FAqDC"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const solidClientAuthentication = __importStar(require("./index"));
27
- exports.default = solidClientAuthentication;
28
- //# sourceMappingURL=index.browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,mEAAqD;AAErD,kBAAe,yBAAyB,CAAC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
4
- class AggregateOidcHandler extends solid_client_authn_core_1.AggregateHandler {
5
- constructor(oidcLoginHandlers) {
6
- super(oidcLoginHandlers);
7
- }
8
- }
9
- exports.default = AggregateOidcHandler;
10
- //# sourceMappingURL=AggregateOidcHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AggregateOidcHandler.js","sourceRoot":"","sources":["../../../src/login/oidc/AggregateOidcHandler.ts"],"names":[],"mappings":";;AA6BA,6EAKyC;AAKzC,MAAqB,oBACnB,SAAQ,0CAA6C;IAGrD,YAAY,iBAAiC;QAC3C,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3B,CAAC;CACF;AAPD,uCAOC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
4
- class AggregateRedirectHandler extends solid_client_authn_core_1.AggregateHandler {
5
- constructor(redirectHandlers) {
6
- super(redirectHandlers);
7
- }
8
- }
9
- exports.default = AggregateRedirectHandler;
10
- //# sourceMappingURL=AggregateRedirectHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AggregateRedirectHandler.js","sourceRoot":"","sources":["../../../src/login/oidc/AggregateRedirectHandler.ts"],"names":[],"mappings":";;AA6BA,6EAKyC;AAKzC,MAAqB,wBACnB,SAAQ,0CAA+D;IAGvE,YAAY,gBAA4C;QACtD,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC1B,CAAC;CACF;AAPD,2CAOC"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const oidc_client_ext_1 = require("@inrupt/oidc-client-ext");
4
- class ClientRegistrar {
5
- constructor(storageUtility) {
6
- this.storageUtility = storageUtility;
7
- }
8
- async getClient(options, issuerConfig) {
9
- const [storedClientId, storedClientSecret,] = await Promise.all([
10
- this.storageUtility.getForUser(options.sessionId, "clientId", {
11
- secure: false,
12
- }),
13
- this.storageUtility.getForUser(options.sessionId, "clientSecret", {
14
- secure: false,
15
- }),
16
- ]);
17
- if (storedClientId) {
18
- return {
19
- clientId: storedClientId,
20
- clientSecret: storedClientSecret,
21
- clientType: "dynamic",
22
- };
23
- }
24
- try {
25
- const registeredClient = await (0, oidc_client_ext_1.registerClient)(options, issuerConfig);
26
- const infoToSave = {
27
- clientId: registeredClient.clientId,
28
- };
29
- if (registeredClient.clientSecret) {
30
- infoToSave.clientSecret = registeredClient.clientSecret;
31
- }
32
- if (registeredClient.idTokenSignedResponseAlg) {
33
- infoToSave.idTokenSignedResponseAlg =
34
- registeredClient.idTokenSignedResponseAlg;
35
- }
36
- await this.storageUtility.setForUser(options.sessionId, infoToSave, {
37
- secure: false,
38
- });
39
- return registeredClient;
40
- }
41
- catch (error) {
42
- throw new Error(`Client registration failed: [${error}]`);
43
- }
44
- }
45
- }
46
- exports.default = ClientRegistrar;
47
- //# sourceMappingURL=ClientRegistrar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClientRegistrar.js","sourceRoot":"","sources":["../../../src/login/oidc/ClientRegistrar.ts"],"names":[],"mappings":";;AAiCA,6DAAyD;AAKzD,MAAqB,eAAe;IAClC,YAAoB,cAA+B;QAA/B,mBAAc,GAAd,cAAc,CAAiB;IAAG,CAAC;IAEvD,KAAK,CAAC,SAAS,CACb,OAAgC,EAChC,YAA2B;QAG3B,MAAM,CACJ,cAAc,EACd,kBAAkB,EAEnB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE;gBAC5D,MAAM,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE;gBAChE,MAAM,EAAE,KAAK;aACd,CAAC;SAKH,CAAC,CAAC;QACH,IAAI,cAAc,EAAE;YAClB,OAAO;gBACL,QAAQ,EAAE,cAAc;gBACxB,YAAY,EAAE,kBAAkB;gBAChC,UAAU,EAAE,SAAS;aACtB,CAAC;SACH;QAED,IAAI;YACF,MAAM,gBAAgB,GAAG,MAAM,IAAA,gCAAc,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAErE,MAAM,UAAU,GAA2B;gBACzC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;aACpC,CAAC;YACF,IAAI,gBAAgB,CAAC,YAAY,EAAE;gBACjC,UAAU,CAAC,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;aACzD;YACD,IAAI,gBAAgB,CAAC,wBAAwB,EAAE;gBAC7C,UAAU,CAAC,wBAAwB;oBACjC,gBAAgB,CAAC,wBAAwB,CAAC;aAC7C;YACD,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE;gBAIlE,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,OAAO,gBAAgB,CAAC;SACzB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAC;SAC3D;IACH,CAAC;CACF;AAxDD,kCAwDC"}
@@ -1,124 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WELL_KNOWN_OPENID_CONFIG = void 0;
4
- const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
5
- const universal_fetch_1 = require("@inrupt/universal-fetch");
6
- exports.WELL_KNOWN_OPENID_CONFIG = ".well-known/openid-configuration";
7
- const issuerConfigKeyMap = {
8
- issuer: {
9
- toKey: "issuer",
10
- convertToUrl: true,
11
- },
12
- authorization_endpoint: {
13
- toKey: "authorizationEndpoint",
14
- convertToUrl: true,
15
- },
16
- token_endpoint: {
17
- toKey: "tokenEndpoint",
18
- convertToUrl: true,
19
- },
20
- userinfo_endpoint: {
21
- toKey: "userinfoEndpoint",
22
- convertToUrl: true,
23
- },
24
- jwks_uri: {
25
- toKey: "jwksUri",
26
- convertToUrl: true,
27
- },
28
- registration_endpoint: {
29
- toKey: "registrationEndpoint",
30
- convertToUrl: true,
31
- },
32
- scopes_supported: { toKey: "scopesSupported" },
33
- response_types_supported: { toKey: "responseTypesSupported" },
34
- response_modes_supported: { toKey: "responseModesSupported" },
35
- grant_types_supported: { toKey: "grantTypesSupported" },
36
- acr_values_supported: { toKey: "acrValuesSupported" },
37
- subject_types_supported: { toKey: "subjectTypesSupported" },
38
- id_token_signing_alg_values_supported: {
39
- toKey: "idTokenSigningAlgValuesSupported",
40
- },
41
- id_token_encryption_alg_values_supported: {
42
- toKey: "idTokenEncryptionAlgValuesSupported",
43
- },
44
- id_token_encryption_enc_values_supported: {
45
- toKey: "idTokenEncryptionEncValuesSupported",
46
- },
47
- userinfo_signing_alg_values_supported: {
48
- toKey: "userinfoSigningAlgValuesSupported",
49
- },
50
- userinfo_encryption_alg_values_supported: {
51
- toKey: "userinfoEncryptionAlgValuesSupported",
52
- },
53
- userinfo_encryption_enc_values_supported: {
54
- toKey: "userinfoEncryptionEncValuesSupported",
55
- },
56
- request_object_signing_alg_values_supported: {
57
- toKey: "requestObjectSigningAlgValuesSupported",
58
- },
59
- request_object_encryption_alg_values_supported: {
60
- toKey: "requestObjectEncryptionAlgValuesSupported",
61
- },
62
- request_object_encryption_enc_values_supported: {
63
- toKey: "requestObjectEncryptionEncValuesSupported",
64
- },
65
- token_endpoint_auth_methods_supported: {
66
- toKey: "tokenEndpointAuthMethodsSupported",
67
- },
68
- token_endpoint_auth_signing_alg_values_supported: {
69
- toKey: "tokenEndpointAuthSigningAlgValuesSupported",
70
- },
71
- display_values_supported: { toKey: "displayValuesSupported" },
72
- claim_types_supported: { toKey: "claimTypesSupported" },
73
- claims_supported: { toKey: "claimsSupported" },
74
- service_documentation: { toKey: "serviceDocumentation" },
75
- claims_locales_supported: { toKey: "claimsLocalesSupported" },
76
- ui_locales_supported: { toKey: "uiLocalesSupported" },
77
- claims_parameter_supported: { toKey: "claimsParameterSupported" },
78
- request_parameter_supported: { toKey: "requestParameterSupported" },
79
- request_uri_parameter_supported: { toKey: "requestUriParameterSupported" },
80
- require_request_uri_registration: { toKey: "requireRequestUriRegistration" },
81
- op_policy_uri: {
82
- toKey: "opPolicyUri",
83
- convertToUrl: true,
84
- },
85
- op_tos_uri: {
86
- toKey: "opTosUri",
87
- convertToUrl: true,
88
- },
89
- };
90
- function processConfig(config) {
91
- const parsedConfig = {};
92
- Object.keys(config).forEach((key) => {
93
- if (issuerConfigKeyMap[key]) {
94
- parsedConfig[issuerConfigKeyMap[key].toKey] = config[key];
95
- }
96
- });
97
- if (!Array.isArray(parsedConfig.scopesSupported)) {
98
- parsedConfig.scopesSupported = ["openid"];
99
- }
100
- return parsedConfig;
101
- }
102
- class IssuerConfigFetcher {
103
- constructor(storageUtility) {
104
- this.storageUtility = storageUtility;
105
- }
106
- static getLocalStorageKey(issuer) {
107
- return `issuerConfig:${issuer}`;
108
- }
109
- async fetchConfig(issuer) {
110
- let issuerConfig;
111
- const openIdConfigUrl = new URL(exports.WELL_KNOWN_OPENID_CONFIG, issuer.endsWith("/") ? issuer : `${issuer}/`).href;
112
- const issuerConfigRequestBody = await (0, universal_fetch_1.fetch)(openIdConfigUrl);
113
- try {
114
- issuerConfig = processConfig(await issuerConfigRequestBody.json());
115
- }
116
- catch (err) {
117
- throw new solid_client_authn_core_1.ConfigurationError(`[${issuer.toString()}] has an invalid configuration: ${err.message}`);
118
- }
119
- await this.storageUtility.set(IssuerConfigFetcher.getLocalStorageKey(issuer), JSON.stringify(issuerConfig));
120
- return issuerConfig;
121
- }
122
- }
123
- exports.default = IssuerConfigFetcher;
124
- //# sourceMappingURL=IssuerConfigFetcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IssuerConfigFetcher.js","sourceRoot":"","sources":["../../../src/login/oidc/IssuerConfigFetcher.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
4
- function hasIssuer(options) {
5
- return typeof options.oidcIssuer === "string";
6
- }
7
- function hasRedirectUrl(options) {
8
- return typeof options.redirectUrl === "string";
9
- }
10
- class OidcLoginHandler {
11
- constructor(storageUtility, oidcHandler, issuerConfigFetcher, clientRegistrar) {
12
- this.storageUtility = storageUtility;
13
- this.oidcHandler = oidcHandler;
14
- this.issuerConfigFetcher = issuerConfigFetcher;
15
- this.clientRegistrar = clientRegistrar;
16
- }
17
- async canHandle(options) {
18
- return hasIssuer(options) && hasRedirectUrl(options);
19
- }
20
- async handle(options) {
21
- if (!hasIssuer(options)) {
22
- throw new solid_client_authn_core_1.ConfigurationError(`OidcLoginHandler requires an OIDC issuer: missing property 'oidcIssuer' in ${JSON.stringify(options)}`);
23
- }
24
- if (!hasRedirectUrl(options)) {
25
- throw new solid_client_authn_core_1.ConfigurationError(`OidcLoginHandler requires a redirect URL: missing property 'redirectUrl' in ${JSON.stringify(options)}`);
26
- }
27
- const issuerConfig = await this.issuerConfigFetcher.fetchConfig(options.oidcIssuer);
28
- const clientRegistration = await (0, solid_client_authn_core_1.handleRegistration)(options, issuerConfig, this.storageUtility, this.clientRegistrar);
29
- const OidcOptions = {
30
- issuer: issuerConfig.issuer,
31
- dpop: options.tokenType.toLowerCase() === "dpop",
32
- ...options,
33
- issuerConfiguration: issuerConfig,
34
- client: clientRegistration,
35
- };
36
- return this.oidcHandler.handle(OidcOptions);
37
- }
38
- }
39
- exports.default = OidcLoginHandler;
40
- //# sourceMappingURL=OidcLoginHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OidcLoginHandler.js","sourceRoot":"","sources":["../../../src/login/oidc/OidcLoginHandler.ts"],"names":[],"mappings":";;AA8BA,6EAYyC;AAEzC,SAAS,SAAS,CAChB,OAAsB;IAEtB,OAAO,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CACrB,OAAsB;IAEtB,OAAO,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC;AACjD,CAAC;AAKD,MAAqB,gBAAgB;IACnC,YACU,cAA+B,EAC/B,WAAyB,EACzB,mBAAyC,EACzC,eAAiC;QAHjC,mBAAc,GAAd,cAAc,CAAiB;QAC/B,gBAAW,GAAX,WAAW,CAAc;QACzB,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,oBAAe,GAAf,eAAe,CAAkB;IACxC,CAAC;IAEJ,KAAK,CAAC,SAAS,CAAC,OAAsB;QACpC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;YACvB,MAAM,IAAI,4CAAkB,CAC1B,8EAA8E,IAAI,CAAC,SAAS,CAC1F,OAAO,CACR,EAAE,CACJ,CAAC;SACH;QACD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC5B,MAAM,IAAI,4CAAkB,CAC1B,+EAA+E,IAAI,CAAC,SAAS,CAC3F,OAAO,CACR,EAAE,CACJ,CAAC;SACH;QAGD,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEjE,MAAM,kBAAkB,GAAG,MAAM,IAAA,4CAAkB,EACjD,OAAO,EACP,YAAY,EACZ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,CACrB,CAAC;QAGF,MAAM,WAAW,GAAiB;YAMhC,MAAM,EAAE,YAAY,CAAC,MAAM;YAE3B,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,MAAM;YAChD,GAAG,OAAO;YACV,mBAAmB,EAAE,YAAY;YACjC,MAAM,EAAE,kBAAkB;SAC3B,CAAC;QAGF,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;CACF;AAzDD,mCAyDC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class Redirector {
4
- redirect(redirectUrl, options) {
5
- if (options && options.handleRedirect) {
6
- options.handleRedirect(redirectUrl);
7
- }
8
- else if (options && options.redirectByReplacingState) {
9
- window.history.replaceState({}, "", redirectUrl);
10
- }
11
- else {
12
- window.location.href = redirectUrl;
13
- }
14
- }
15
- }
16
- exports.default = Redirector;
17
- //# sourceMappingURL=Redirector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Redirector.js","sourceRoot":"","sources":["../../../src/login/oidc/Redirector.ts"],"names":[],"mappings":";;AAkCA,MAAqB,UAAU;IAC7B,QAAQ,CAAC,WAAmB,EAAE,OAA4B;QACxD,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE;YACrC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;SACrC;aAAM,IAAI,OAAO,IAAI,OAAO,CAAC,wBAAwB,EAAE;YACtD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;SAClD;aAAM;YACL,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;SACpC;IACH,CAAC;CACF;AAVD,6BAUC"}
@@ -1,2 +0,0 @@
1
- import { IOidcOptions } from "@inrupt/solid-client-authn-core";
2
- export declare const standardOidcOptions: IOidcOptions;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.standardOidcOptions = void 0;
4
- const globals_1 = require("@jest/globals");
5
- exports.standardOidcOptions = {
6
- sessionId: "mySession",
7
- issuer: "https://example.com",
8
- dpop: true,
9
- redirectUrl: "https://app.example.com",
10
- handleRedirect: globals_1.jest.fn((url) => url),
11
- issuerConfiguration: {
12
- issuer: "https://example.com",
13
- authorizationEndpoint: "https://example.com/auth",
14
- tokenEndpoint: "https://example.com/token",
15
- jwksUri: "https://example.com/jwks",
16
- subjectTypesSupported: [],
17
- claimsSupported: [],
18
- scopesSupported: ["openid"],
19
- },
20
- client: {
21
- clientId: "coolApp",
22
- clientType: "dynamic",
23
- },
24
- };
25
- //# sourceMappingURL=IOidcOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IOidcOptions.js","sourceRoot":"","sources":["../../../../src/login/oidc/__mocks__/IOidcOptions.ts"],"names":[],"mappings":";;;AAsBA,2CAAqC;AAExB,QAAA,mBAAmB,GAAiB;IAC/C,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,qBAAqB;IAC7B,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,yBAAyB;IACtC,cAAc,EAAE,cAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;IAErC,mBAAmB,EAAE;QACnB,MAAM,EAAE,qBAAqB;QAC7B,qBAAqB,EAAE,0BAA0B;QACjD,aAAa,EAAE,2BAA2B;QAC1C,OAAO,EAAE,0BAA0B;QACnC,qBAAqB,EAAE,EAAE;QACzB,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE,CAAC,QAAQ,CAAC;KAC5B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,SAAS;KACtB;CACF,CAAC"}
@@ -1,91 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthCodeRedirectHandler = void 0;
4
- const universal_fetch_1 = require("@inrupt/universal-fetch");
5
- const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
6
- const oidc_client_ext_1 = require("@inrupt/oidc-client-ext");
7
- class AuthCodeRedirectHandler {
8
- constructor(storageUtility, sessionInfoManager, issuerConfigFetcher, clientRegistrar, tokerRefresher) {
9
- this.storageUtility = storageUtility;
10
- this.sessionInfoManager = sessionInfoManager;
11
- this.issuerConfigFetcher = issuerConfigFetcher;
12
- this.clientRegistrar = clientRegistrar;
13
- this.tokerRefresher = tokerRefresher;
14
- }
15
- async canHandle(redirectUrl) {
16
- try {
17
- const myUrl = new URL(redirectUrl);
18
- return (myUrl.searchParams.get("code") !== null &&
19
- myUrl.searchParams.get("state") !== null);
20
- }
21
- catch (e) {
22
- throw new Error(`[${redirectUrl}] is not a valid URL, and cannot be used as a redirect URL: ${e}`);
23
- }
24
- }
25
- async handle(redirectUrl, eventEmitter) {
26
- if (!(await this.canHandle(redirectUrl))) {
27
- throw new Error(`AuthCodeRedirectHandler cannot handle [${redirectUrl}]: it is missing one of [code, state].`);
28
- }
29
- const url = new URL(redirectUrl);
30
- const oauthState = url.searchParams.get("state");
31
- const storedSessionId = (await this.storageUtility.getForUser(oauthState, "sessionId", {
32
- errorIfNull: true,
33
- }));
34
- const { issuerConfig, codeVerifier, redirectUrl: storedRedirectIri, dpop: isDpop, } = await (0, solid_client_authn_core_1.loadOidcContextFromStorage)(storedSessionId, this.storageUtility, this.issuerConfigFetcher);
35
- const iss = url.searchParams.get("iss");
36
- if (typeof iss === "string" && iss !== issuerConfig.issuer) {
37
- 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)`);
38
- }
39
- if (codeVerifier === undefined) {
40
- throw new Error(`The code verifier for session ${storedSessionId} is missing from storage.`);
41
- }
42
- if (storedRedirectIri === undefined) {
43
- throw new Error(`The redirect URL for session ${storedSessionId} is missing from storage.`);
44
- }
45
- const client = await this.clientRegistrar.getClient({ sessionId: storedSessionId }, issuerConfig);
46
- let tokens;
47
- const tokenCreatedAt = Date.now();
48
- if (isDpop) {
49
- tokens = await (0, oidc_client_ext_1.getDpopToken)(issuerConfig, client, {
50
- grantType: "authorization_code",
51
- code: url.searchParams.get("code"),
52
- codeVerifier,
53
- redirectUrl: storedRedirectIri,
54
- });
55
- window.localStorage.removeItem(`oidc.${oauthState}`);
56
- }
57
- else {
58
- tokens = await (0, oidc_client_ext_1.getBearerToken)(url.toString());
59
- }
60
- let refreshOptions;
61
- if (tokens.refreshToken !== undefined) {
62
- refreshOptions = {
63
- sessionId: storedSessionId,
64
- refreshToken: tokens.refreshToken,
65
- tokenRefresher: this.tokerRefresher,
66
- };
67
- }
68
- const authFetch = await (0, solid_client_authn_core_1.buildAuthenticatedFetch)(universal_fetch_1.fetch, tokens.accessToken, {
69
- dpopKey: tokens.dpopKey,
70
- refreshOptions,
71
- eventEmitter,
72
- expiresIn: tokens.expiresIn,
73
- });
74
- await this.storageUtility.setForUser(storedSessionId, {
75
- webId: tokens.webId,
76
- isLoggedIn: "true",
77
- }, { secure: true });
78
- const sessionInfo = await this.sessionInfoManager.get(storedSessionId);
79
- if (!sessionInfo) {
80
- throw new Error(`Could not retrieve session: [${storedSessionId}].`);
81
- }
82
- return Object.assign(sessionInfo, {
83
- fetch: authFetch,
84
- expirationDate: typeof tokens.expiresIn === "number"
85
- ? tokenCreatedAt + tokens.expiresIn * 1000
86
- : null,
87
- });
88
- }
89
- }
90
- exports.AuthCodeRedirectHandler = AuthCodeRedirectHandler;
91
- //# sourceMappingURL=AuthCodeRedirectHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthCodeRedirectHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorOidcHandler = void 0;
4
- const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
5
- const SessionInfoManager_1 = require("../../../sessionInfo/SessionInfoManager");
6
- class ErrorOidcHandler {
7
- async canHandle(redirectUrl) {
8
- try {
9
- return new URL(redirectUrl).searchParams.has("error");
10
- }
11
- catch (e) {
12
- throw new Error(`[${redirectUrl}] is not a valid URL, and cannot be used as a redirect URL: ${e}`);
13
- }
14
- }
15
- async handle(redirectUrl, eventEmitter) {
16
- if (eventEmitter !== undefined) {
17
- const url = new URL(redirectUrl);
18
- const errorUrl = url.searchParams.get("error");
19
- const errorDescriptionUrl = url.searchParams.get("error_description");
20
- eventEmitter.emit(solid_client_authn_core_1.EVENTS.ERROR, errorUrl, errorDescriptionUrl);
21
- }
22
- return (0, SessionInfoManager_1.getUnauthenticatedSession)();
23
- }
24
- }
25
- exports.ErrorOidcHandler = ErrorOidcHandler;
26
- //# sourceMappingURL=ErrorOidcHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ErrorOidcHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts"],"names":[],"mappings":";;;AA0BA,6EAIyC;AAGzC,gFAAoF;AAQpF,MAAa,gBAAgB;IAC3B,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,IAAI;YAEF,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACvD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,IAAI,WAAW,+DAA+D,CAAC,EAAE,CAClF,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,WAAmB,EACnB,YAA2B;QAE3B,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,mBAAmB,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACtE,YAAY,CAAC,IAAI,CAAC,gCAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;SAChE;QACD,OAAO,IAAA,8CAAyB,GAAE,CAAC;IACrC,CAAC;CACF;AAxBD,4CAwBC"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FallbackRedirectHandler = void 0;
4
- const SessionInfoManager_1 = require("../../../sessionInfo/SessionInfoManager");
5
- class FallbackRedirectHandler {
6
- async canHandle(redirectUrl) {
7
- try {
8
- new URL(redirectUrl);
9
- return true;
10
- }
11
- catch (e) {
12
- throw new Error(`[${redirectUrl}] is not a valid URL, and cannot be used as a redirect URL: ${e}`);
13
- }
14
- }
15
- async handle(_redirectUrl) {
16
- return (0, SessionInfoManager_1.getUnauthenticatedSession)();
17
- }
18
- }
19
- exports.FallbackRedirectHandler = FallbackRedirectHandler;
20
- //# sourceMappingURL=FallbackRedirectHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FallbackRedirectHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts"],"names":[],"mappings":";;;AA+BA,gFAAoF;AAQpF,MAAa,uBAAuB;IAClC,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,IAAI;YAGF,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,IAAI,WAAW,+DAA+D,CAAC,EAAE,CAClF,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAEV,YAAoB;QAEpB,OAAO,IAAA,8CAAyB,GAAE,CAAC;IACrC,CAAC;CACF;AApBD,0DAoBC"}