@inrupt/solid-client-authn-browser 3.1.1 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +9 -13
  2. package/dist/ClientAuthentication.d.ts.map +1 -0
  3. package/dist/Session.d.ts.map +1 -0
  4. package/dist/constant.d.ts.map +1 -0
  5. package/dist/defaultSession.d.ts.map +1 -0
  6. package/dist/dependencies.d.ts.map +1 -0
  7. package/dist/index.browser.d.ts.map +1 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +28 -38
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +28 -38
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/login/oidc/AggregateOidcHandler.d.ts.map +1 -0
  14. package/dist/login/oidc/AggregateRedirectHandler.d.ts.map +1 -0
  15. package/dist/login/oidc/ClientRegistrar.d.ts.map +1 -0
  16. package/dist/login/oidc/IssuerConfigFetcher.d.ts.map +1 -0
  17. package/dist/login/oidc/OidcLoginHandler.d.ts.map +1 -0
  18. package/dist/login/oidc/Redirector.d.ts.map +1 -0
  19. package/dist/login/oidc/__mocks__/IOidcOptions.d.ts.map +1 -0
  20. package/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.d.ts.map +1 -0
  21. package/dist/login/oidc/incomingRedirectHandler/ErrorOidcHandler.d.ts.map +1 -0
  22. package/dist/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.d.ts.map +1 -0
  23. package/dist/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.d.ts.map +1 -0
  24. package/dist/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.d.ts.map +1 -0
  25. package/dist/login/oidc/refresh/TokenRefresher.d.ts.map +1 -0
  26. package/dist/logout/buildRpInitiatedLogout.d.ts.map +1 -0
  27. package/dist/sessionInfo/SessionInfoManager.d.ts.map +1 -0
  28. package/dist/solid-client-authn.bundle.js +1 -31
  29. package/dist/solid-client-authn.bundle.js.map +1 -1
  30. package/dist/src/ClientAuthentication.d.ts +16 -0
  31. package/dist/src/Session.d.ts +146 -0
  32. package/dist/src/constant.d.ts +2 -0
  33. package/dist/src/defaultSession.d.ts +52 -0
  34. package/dist/src/dependencies.d.ts +17 -0
  35. package/dist/src/index.browser.d.ts +2 -0
  36. package/dist/src/index.d.ts +3 -0
  37. package/dist/src/login/oidc/AggregateOidcHandler.d.ts +15 -0
  38. package/dist/src/login/oidc/AggregateRedirectHandler.d.ts +15 -0
  39. package/dist/src/login/oidc/ClientRegistrar.d.ts +13 -0
  40. package/dist/src/login/oidc/IssuerConfigFetcher.d.ts +18 -0
  41. package/dist/src/login/oidc/OidcLoginHandler.d.ts +20 -0
  42. package/dist/src/login/oidc/Redirector.d.ts +11 -0
  43. package/dist/src/login/oidc/__mocks__/IOidcOptions.d.ts +2 -0
  44. package/dist/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.d.ts +19 -0
  45. package/dist/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.d.ts +18 -0
  46. package/dist/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.d.ts +17 -0
  47. package/dist/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.d.ts +17 -0
  48. package/dist/src/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.d.ts +9 -0
  49. package/dist/src/login/oidc/refresh/TokenRefresher.d.ts +16 -0
  50. package/dist/src/logout/buildRpInitiatedLogout.d.ts +9 -0
  51. package/dist/src/sessionInfo/SessionInfoManager.d.ts +26 -0
  52. package/dist/src/storage/BrowserStorage.d.ts +14 -0
  53. package/dist/src/storage/StorageUtility.d.ts +19 -0
  54. package/dist/src/util/UuidGenerator.d.ts +12 -0
  55. package/dist/storage/BrowserStorage.d.ts.map +1 -0
  56. package/dist/storage/StorageUtility.d.ts.map +1 -0
  57. package/dist/util/UuidGenerator.d.ts.map +1 -0
  58. package/package.json +4 -4
  59. package/rollup.config.mjs +0 -2
  60. package/src/ClientAuthentication.spec.ts +128 -2
  61. package/src/ClientAuthentication.ts +18 -4
  62. package/src/Session.spec.ts +69 -18
  63. package/src/Session.ts +0 -1
  64. package/src/__mocks__/ClientAuthentication.ts +1 -1
  65. package/src/constant.ts +0 -1
  66. package/src/defaultSession.spec.ts +0 -1
  67. package/src/defaultSession.ts +1 -2
  68. package/src/dependencies.node.spec.ts +0 -1
  69. package/src/dependencies.spec.ts +0 -1
  70. package/src/dependencies.ts +0 -1
  71. package/src/index.browser.spec.ts +0 -1
  72. package/src/index.browser.ts +0 -1
  73. package/src/index.spec.ts +0 -1
  74. package/src/index.ts +0 -1
  75. package/src/login/__mocks__/LoginHandler.ts +0 -1
  76. package/src/login/oidc/AggregateOidcHandler.spec.ts +1 -2
  77. package/src/login/oidc/AggregateOidcHandler.ts +0 -1
  78. package/src/login/oidc/AggregateRedirectHandler.ts +0 -1
  79. package/src/login/oidc/ClientRegistrar.spec.ts +1 -1
  80. package/src/login/oidc/ClientRegistrar.ts +0 -1
  81. package/src/login/oidc/IssuerConfigFetcher.spec.ts +7 -5
  82. package/src/login/oidc/IssuerConfigFetcher.ts +3 -3
  83. package/src/login/oidc/OidcLoginHandler.spec.ts +1 -1
  84. package/src/login/oidc/OidcLoginHandler.ts +0 -1
  85. package/src/login/oidc/Redirector.spec.ts +0 -1
  86. package/src/login/oidc/Redirector.ts +0 -1
  87. package/src/login/oidc/__mocks__/ClientRegistrar.ts +0 -1
  88. package/src/login/oidc/__mocks__/IOidcHandler.ts +1 -3
  89. package/src/login/oidc/__mocks__/IOidcOptions.ts +0 -1
  90. package/src/login/oidc/__mocks__/IssuerConfigFetcher.ts +0 -2
  91. package/src/login/oidc/__mocks__/Redirector.ts +0 -1
  92. package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.spec.ts +1 -1
  93. package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts +0 -1
  94. package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.spec.ts +0 -1
  95. package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts +0 -2
  96. package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.spec.ts +0 -1
  97. package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts +1 -2
  98. package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.spec.ts +1 -4
  99. package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts +10 -11
  100. package/src/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.ts +0 -1
  101. package/src/login/oidc/refresh/TokenRefresher.spec.ts +1 -1
  102. package/src/login/oidc/refresh/TokenRefresher.ts +0 -2
  103. package/src/login/oidc/refresh/__mocks__/TokenRefresher.ts +0 -2
  104. package/src/logout/buildRpInitiatedLogout.ts +1 -1
  105. package/src/sessionInfo/SessionInfoManager.spec.ts +62 -1
  106. package/src/sessionInfo/SessionInfoManager.ts +6 -1
  107. package/src/sessionInfo/__mocks__/SessionInfoManager.ts +1 -2
  108. package/src/storage/BrowserStorage.spec.ts +0 -1
  109. package/src/storage/BrowserStorage.ts +0 -1
  110. package/src/storage/StorageUtility.ts +0 -1
  111. package/src/storage/__mocks__/LocalStorage.ts +0 -1
  112. package/src/util/UUIDGenerator.spec.ts +0 -1
  113. package/src/util/UuidGenerator.ts +0 -2
  114. package/src/util/__mocks__/UuidGenerator.ts +0 -1
  115. package/typedoc.config.mjs +0 -1
package/README.md CHANGED
@@ -18,40 +18,36 @@ the `events` npm package as well.
18
18
  [`@inrupt/oidc-client`](https://github.com/inrupt/oidc-client-js) after the original library stopped being supported.
19
19
  However, the latter lacks some features that are necessary to provide the developer experience we specifically want for the Solid ecosystem, so we developed [`oidc-client-ext`](https://www.npmjs.com/package/@inrupt/oidc-client-ext) to add these features.
20
20
 
21
- # Other Inrupt Solid JavaScript Libraries
21
+ ## Other Inrupt Solid JavaScript Libraries
22
22
 
23
23
  [`@inrupt/solid-client-authn-browser`](https://www.npmjs.com/package/@inrupt/solid-client-authn-browser)is part of a family open source JavaScript libraries designed to support developers building Solid applications.
24
24
 
25
- ## Inrupt Solid JavaScript Client Libraries
25
+ ### Inrupt Solid JavaScript Client Libraries
26
26
 
27
- ### Data access and permissions management - solid-client
27
+ #### Data access and permissions management - solid-client
28
28
 
29
29
  [@inrupt/solid-client](https://docs.inrupt.com/client-libraries/solid-client-js/) allows developers to access data and manage permissions on data stored in Solid Pods.
30
30
 
31
- ### Authentication - solid-client-authn
31
+ #### Authentication - solid-client-authn
32
32
 
33
33
  [@inrupt/solid-client-authn](https://github.com/inrupt/solid-client-authn) allows developers to authenticate against a Solid server. This is necessary when the resources on your Pod are not public.
34
34
 
35
- ### Vocabularies and interoperability - solid-common-vocab-rdf
35
+ #### Vocabularies and interoperability - solid-common-vocab-rdf
36
36
 
37
37
  [@inrupt/solid-common-vocab-rdf](https://github.com/inrupt/solid-common-vocab-rdf) allows developers to build interoperable apps by reusing well-known vocabularies. These libraries provide vocabulary terms as constants that you just have to import.
38
38
 
39
- # Issues & Help
39
+ ## Issues & Help
40
40
 
41
- ## Solid Community Forum
41
+ ### Solid Community Forum
42
42
 
43
43
  If you have questions about working with Solid or just want to share what you’re working on, visit the [Solid forum](https://forum.solidproject.org/). The Solid forum is a good place to meet the rest of the community.
44
44
 
45
- ## Bugs and Feature Requests
45
+ ### Bugs and Feature Requests
46
46
 
47
47
  - For public feedback, bug reports, and feature requests please file an issue via [GitHub](https://github.com/inrupt/solid-client-authn/issues/).
48
48
  - For non-public feedback or support inquiries please use the [Inrupt Service Desk](https://inrupt.atlassian.net/servicedesk).
49
49
 
50
- ## Prerequisite
51
-
52
- The `solid-client-authn` libraries are compatible with [NSS](https://github.com/solid/node-solid-server/releases/tag/v5.3.0) 5.3.X and higher.
53
-
54
- ## Documentation
50
+ ### Documentation
55
51
 
56
52
  - [Using this library from within the browser](https://docs.inrupt.com/sdk/javascript-sdktutorial/authenticate/)
57
53
  - [Inrupt documentation Homepage](https://docs.inrupt.com/)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientAuthentication.d.ts","sourceRoot":"","sources":["../src/ClientAuthentication.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,oBAAoB,IAAI,wBAAwB,EAEjD,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgBhD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,wBAAwB;IAGxE,KAAK,GACH,SAAS,aAAa,EACtB,cAAc,YAAY,KACzB,OAAO,CAAC,IAAI,CAAC,CA4Bd;IAMF,sBAAsB,GACpB,kBAAkB,MAAM,KACvB,OAAO,CAAC,CAAC,YAAY,GAAG,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAWtD;IAEF,sBAAsB,GACpB,KAAK,MAAM,EACX,cAAc,YAAY,KACzB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAqClC;YAEY,qBAAqB;CAqBpC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":"AAoBA;;GAEG;AACH,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACf,MAAM,iCAAiC,CAAC;AAIzC,OAAO,KAAK,oBAAoB,MAAM,wBAAwB,CAAC;AAI/D,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,aAAa,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,eAAe,EAAE,QAAQ,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,YAAY,CAAC;IAC1B;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAED,MAAM,WAAW,8BAA8B;IAC7C;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,oBAAoB,EACjC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAQD;;GAEG;AACH,qBAAa,OAAQ,YAAW,wBAAwB;IACtD;;OAEG;IACH,SAAgB,IAAI,EAAE,YAAY,CAAC;IAEnC;;;;OAIG;IACH,SAAgB,MAAM,EAAE,qBAAqB,CAAC;IAE9C,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,OAAO,CAAC,sBAAsB,CAAS;IAEvC;;;;;;;;;;;;;;OAcG;gBAED,cAAc,GAAE,OAAO,CAAC,eAAe,CAAM,EAC7C,SAAS,GAAE,MAAM,GAAG,SAAqB;IAyC3C;;;;;OAKG;IAGH,KAAK,GAAU,SAAS,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAAC,CAexD;IAEF;;;;;OAKG;IACH,KAAK,EAAE,OAAO,KAAK,CAC0B;IAE7C;;;;;;OAMG;IACH,OAAO,CAAC,cAAc,CAapB;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,MAAM,GAAU,UAAU,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC,CACnB;IAErC;;;;;OAKG;IACH,sBAAsB,GACpB,eAAc,MAAM,GAAG,8BAAmC,KACzD,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAyDlC;IAEF,OAAO,CAAC,cAAc;CAYvB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,mBAAmB,oCAAmD,CAAC;AAEpF,eAAO,MAAM,eAAe,gCAA+C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultSession.d.ts","sourceRoot":"","sources":["../src/defaultSession.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED;;;;;;;GAOG;AAEH,wBAAgB,KAAK,CACnB,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GACpC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAG9B;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CACnB,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GACpC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAG9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACpB,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GACrC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAG/B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,GACrD,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAG/C;AAED;;;;GAIG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAE1C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AAEH;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAMhE,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAc1D;;;GAGG;AACH,wBAAgB,uCAAuC,CAAC,YAAY,EAAE;IACpE,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,eAAe,CAAC,EAAE,QAAQ,CAAC;CAC5B,GAAG,oBAAoB,CAoDvB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,yBAAyB,MAAM,SAAS,CAAC;AAErD,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,OAAO,EACP,eAAe,EACf,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AAEnB,cAAc,kBAAkB,CAAC;AAIjC,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,MAAM,GACP,MAAM,iCAAiC,CAAC"}
package/dist/index.js CHANGED
@@ -5,7 +5,6 @@ var uuid = require('uuid');
5
5
  var EventEmitter = require('events');
6
6
  var oidcClientExt = require('@inrupt/oidc-client-ext');
7
7
 
8
- //
9
8
  // Copyright Inrupt Inc.
10
9
  //
11
10
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -38,7 +37,6 @@ class StorageUtilityBrowser extends solidClientAuthnCore.StorageUtility {
38
37
  }
39
38
  }
40
39
 
41
- //
42
40
  // Copyright Inrupt Inc.
43
41
  //
44
42
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -58,6 +56,17 @@ class StorageUtilityBrowser extends solidClientAuthnCore.StorageUtility {
58
56
  // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
59
57
  // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
60
58
  //
59
+ /**
60
+ * Checks if a client's registration has expired.
61
+ */
62
+ function isClientExpired(sessionInfo) {
63
+ // clientExpiresAt === 0 means the client never expires (per OIDC DCR spec)
64
+ if (sessionInfo.clientExpiresAt === undefined ||
65
+ sessionInfo.clientExpiresAt === 0) {
66
+ return false;
67
+ }
68
+ return sessionInfo.clientExpiresAt < Math.floor(Date.now() / 1000);
69
+ }
61
70
  /**
62
71
  * @hidden
63
72
  */
@@ -90,14 +99,15 @@ class ClientAuthentication extends solidClientAuthnCore.ClientAuthentication {
90
99
  });
91
100
  };
92
101
  // Collects session information from storage, and returns them. Returns null
93
- // if the expected information cannot be found.
102
+ // if the expected information cannot be found or if the client has expired.
94
103
  // Note that the ID token is not stored, which means the session information
95
104
  // cannot be validated at this point.
96
105
  validateCurrentSession = async (currentSessionId) => {
97
106
  const sessionInfo = await this.sessionInfoManager.get(currentSessionId);
98
107
  if (sessionInfo === undefined ||
99
108
  sessionInfo.clientAppId === undefined ||
100
- sessionInfo.issuer === undefined) {
109
+ sessionInfo.issuer === undefined ||
110
+ isClientExpired(sessionInfo)) {
101
111
  return null;
102
112
  }
103
113
  return sessionInfo;
@@ -147,7 +157,6 @@ class ClientAuthentication extends solidClientAuthnCore.ClientAuthentication {
147
157
  // 'popstate' event which should be listened to is only sent on active
148
158
  // navigation, which we will not have here.
149
159
  // See https://developer.mozilla.org/en-US/docs/Web/API/Window/popstate_event#when_popstate_is_sent
150
- // eslint-disable-next-line no-await-in-loop
151
160
  await new Promise((resolve) => {
152
161
  setTimeout(() => resolve(), 1);
153
162
  });
@@ -155,7 +164,6 @@ class ClientAuthentication extends solidClientAuthnCore.ClientAuthentication {
155
164
  }
156
165
  }
157
166
 
158
- //
159
167
  // Copyright Inrupt Inc.
160
168
  //
161
169
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -232,7 +240,6 @@ class OidcLoginHandler {
232
240
  }
233
241
  }
234
242
 
235
- //
236
243
  // Copyright Inrupt Inc.
237
244
  //
238
245
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -252,6 +259,8 @@ class OidcLoginHandler {
252
259
  // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
253
260
  // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
254
261
  //
262
+ // Camelcase identifiers are required in the OIDC specification.
263
+ /* eslint-disable camelcase*/
255
264
  /**
256
265
  * @hidden
257
266
  * Authorization code flow spec: https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth
@@ -259,12 +268,12 @@ class OidcLoginHandler {
259
268
  */
260
269
  class AuthorizationCodeWithPkceOidcHandler extends solidClientAuthnCore.AuthorizationCodeWithPkceOidcHandlerBase {
261
270
  async handle(oidcLoginOptions) {
262
- /* eslint-disable camelcase */
271
+ const redirectUri = oidcLoginOptions.redirectUrl ?? "";
263
272
  const oidcOptions = {
264
273
  authority: oidcLoginOptions.issuer.toString(),
265
274
  client_id: oidcLoginOptions.client.clientId,
266
275
  client_secret: oidcLoginOptions.client.clientSecret,
267
- redirect_uri: oidcLoginOptions.redirectUrl,
276
+ redirect_uri: redirectUri,
268
277
  response_type: "code",
269
278
  scope: oidcLoginOptions.scopes.join(" "),
270
279
  filterProtocolClaims: true,
@@ -272,25 +281,20 @@ class AuthorizationCodeWithPkceOidcHandler extends solidClientAuthnCore.Authoriz
272
281
  // Note that in Solid, information should be retrieved from the
273
282
  // profile referenced by the WebId.
274
283
  loadUserInfo: false,
275
- code_verifier: true,
276
284
  prompt: oidcLoginOptions.prompt ?? "consent",
277
285
  };
278
- /* eslint-enable camelcase */
279
286
  const oidcClientLibrary = new oidcClientExt.OidcClient(oidcOptions);
280
287
  try {
281
- const signingRequest = await oidcClientLibrary.createSigninRequest();
288
+ const signingRequest = await oidcClientLibrary.createSigninRequest({});
282
289
  // Make sure to await the promise before returning so that the error is caught.
283
290
  return await this.setupRedirectHandler({
284
291
  oidcLoginOptions,
285
- // eslint-disable-next-line no-underscore-dangle
286
- state: signingRequest.state._id,
287
- // eslint-disable-next-line no-underscore-dangle
288
- codeVerifier: signingRequest.state._code_verifier,
292
+ state: signingRequest.state.id,
293
+ codeVerifier: signingRequest.state.code_verifier ?? "",
289
294
  targetUrl: signingRequest.url.toString(),
290
295
  });
291
296
  }
292
297
  catch (err) {
293
- // eslint-disable-next-line no-console
294
298
  console.error(err);
295
299
  }
296
300
  // The login is only completed AFTER redirect, so nothing to return here.
@@ -298,7 +302,6 @@ class AuthorizationCodeWithPkceOidcHandler extends solidClientAuthnCore.Authoriz
298
302
  }
299
303
  }
300
304
 
301
- //
302
305
  // Copyright Inrupt Inc.
303
306
  //
304
307
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -318,8 +321,9 @@ class AuthorizationCodeWithPkceOidcHandler extends solidClientAuthnCore.Authoriz
318
321
  // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
319
322
  // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
320
323
  //
324
+ // Camelcase identifiers are required in the OIDC specification.
325
+ /* eslint-disable camelcase*/
321
326
  const WELL_KNOWN_OPENID_CONFIG = ".well-known/openid-configuration";
322
- /* eslint-disable camelcase */
323
327
  const issuerConfigKeyMap = {
324
328
  issuer: {
325
329
  toKey: "issuer",
@@ -407,7 +411,6 @@ const issuerConfigKeyMap = {
407
411
  convertToUrl: true,
408
412
  },
409
413
  };
410
- /* eslint-enable camelcase */
411
414
  function processConfig(config) {
412
415
  const parsedConfig = {};
413
416
  Object.keys(config).forEach((key) => {
@@ -458,7 +461,6 @@ class IssuerConfigFetcher {
458
461
  }
459
462
  }
460
463
 
461
- //
462
464
  // Copyright Inrupt Inc.
463
465
  //
464
466
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -492,7 +494,7 @@ async function clear(sessionId, storage) {
492
494
  */
493
495
  class SessionInfoManager extends solidClientAuthnCore.SessionInfoManagerBase {
494
496
  async get(sessionId) {
495
- const [isLoggedIn, webId, clientId, clientSecret, redirectUrl, refreshToken, issuer, tokenType,] = await Promise.all([
497
+ const [isLoggedIn, webId, clientId, clientSecret, redirectUrl, refreshToken, issuer, tokenType, expiresAt,] = await Promise.all([
496
498
  this.storageUtility.getForUser(sessionId, "isLoggedIn", {
497
499
  secure: true,
498
500
  }),
@@ -517,6 +519,9 @@ class SessionInfoManager extends solidClientAuthnCore.SessionInfoManagerBase {
517
519
  this.storageUtility.getForUser(sessionId, "tokenType", {
518
520
  secure: false,
519
521
  }),
522
+ this.storageUtility.getForUser(sessionId, "expiresAt", {
523
+ secure: false,
524
+ }),
520
525
  ]);
521
526
  if (typeof redirectUrl === "string" && !solidClientAuthnCore.isValidRedirectUrl(redirectUrl)) {
522
527
  // This resolves the issue for people experiencing https://github.com/inrupt/solid-client-authn-js/issues/2891.
@@ -548,6 +553,7 @@ class SessionInfoManager extends solidClientAuthnCore.SessionInfoManagerBase {
548
553
  clientAppSecret: clientSecret,
549
554
  // Default the token type to DPoP if unspecified.
550
555
  tokenType: tokenType ?? "DPoP",
556
+ clientExpiresAt: expiresAt !== undefined ? Number.parseInt(expiresAt, 10) : undefined,
551
557
  };
552
558
  }
553
559
  /**
@@ -561,7 +567,6 @@ class SessionInfoManager extends solidClientAuthnCore.SessionInfoManagerBase {
561
567
  }
562
568
  }
563
569
 
564
- //
565
570
  // Copyright Inrupt Inc.
566
571
  //
567
572
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -591,7 +596,6 @@ class FallbackRedirectHandler {
591
596
  async canHandle(redirectUrl) {
592
597
  try {
593
598
  // The next URL object is built for validating it.
594
- // eslint-disable-next-line no-new
595
599
  new URL(redirectUrl);
596
600
  return true;
597
601
  }
@@ -606,7 +610,6 @@ class FallbackRedirectHandler {
606
610
  }
607
611
  }
608
612
 
609
- //
610
613
  // Copyright Inrupt Inc.
611
614
  //
612
615
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -722,7 +725,6 @@ class AuthCodeRedirectHandler {
722
725
  }
723
726
  }
724
727
 
725
- //
726
728
  // Copyright Inrupt Inc.
727
729
  //
728
730
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -751,7 +753,6 @@ class AggregateRedirectHandler extends solidClientAuthnCore.AggregateHandler {
751
753
  }
752
754
  }
753
755
 
754
- //
755
756
  // Copyright Inrupt Inc.
756
757
  //
757
758
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -789,7 +790,6 @@ class BrowserStorage {
789
790
  }
790
791
  }
791
792
 
792
- //
793
793
  // Copyright Inrupt Inc.
794
794
  //
795
795
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -826,7 +826,6 @@ class Redirector {
826
826
  }
827
827
  }
828
828
 
829
- //
830
829
  // Copyright Inrupt Inc.
831
830
  //
832
831
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -930,7 +929,6 @@ class ClientRegistrar {
930
929
  }
931
930
  }
932
931
 
933
- //
934
932
  // Copyright Inrupt Inc.
935
933
  //
936
934
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -959,7 +957,6 @@ class ClientRegistrar {
959
957
  class ErrorOidcHandler {
960
958
  async canHandle(redirectUrl) {
961
959
  try {
962
- // eslint-disable-next-line no-new
963
960
  return new URL(redirectUrl).searchParams.has("error");
964
961
  }
965
962
  catch (e) {
@@ -977,7 +974,6 @@ class ErrorOidcHandler {
977
974
  }
978
975
  }
979
976
 
980
- //
981
977
  // Copyright Inrupt Inc.
982
978
  //
983
979
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -999,7 +995,6 @@ class ErrorOidcHandler {
999
995
  //
1000
996
  // Some identifiers are not in camelcase on purpose, as they are named using the
1001
997
  // official names from the OIDC/OAuth2 specifications.
1002
- /* eslint-disable camelcase */
1003
998
  /**
1004
999
  * @hidden
1005
1000
  */
@@ -1034,7 +1029,6 @@ class TokenRefresher {
1034
1029
  }
1035
1030
  }
1036
1031
 
1037
- //
1038
1032
  // Copyright Inrupt Inc.
1039
1033
  //
1040
1034
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1080,7 +1074,6 @@ function getClientAuthenticationWithDependencies(dependencies) {
1080
1074
  return new ClientAuthentication(loginHandler, redirectHandler, new solidClientAuthnCore.IWaterfallLogoutHandler(sessionInfoManager, redirector), sessionInfoManager, issuerConfigFetcher);
1081
1075
  }
1082
1076
 
1083
- //
1084
1077
  // Copyright Inrupt Inc.
1085
1078
  //
1086
1079
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1103,7 +1096,6 @@ function getClientAuthenticationWithDependencies(dependencies) {
1103
1096
  const KEY_CURRENT_SESSION = `${solidClientAuthnCore.SOLID_CLIENT_AUTHN_KEY_PREFIX}currentSession`;
1104
1097
  const KEY_CURRENT_URL = `${solidClientAuthnCore.SOLID_CLIENT_AUTHN_KEY_PREFIX}currentUrl`;
1105
1098
 
1106
- //
1107
1099
  // Copyright Inrupt Inc.
1108
1100
  //
1109
1101
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1366,7 +1358,6 @@ class Session {
1366
1358
  }
1367
1359
  }
1368
1360
 
1369
- //
1370
1361
  // Copyright Inrupt Inc.
1371
1362
  //
1372
1363
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1411,7 +1402,6 @@ function getDefaultSession() {
1411
1402
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch}
1412
1403
  * @since 1.3.0
1413
1404
  */
1414
- /* eslint-disable-next-line no-shadow */
1415
1405
  function fetch$1(...args) {
1416
1406
  const session = getDefaultSession();
1417
1407
  return session.fetch(...args);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/storage/StorageUtility.ts","../src/ClientAuthentication.ts","../src/login/oidc/OidcLoginHandler.ts","../src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts","../src/login/oidc/IssuerConfigFetcher.ts","../src/sessionInfo/SessionInfoManager.ts","../src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts","../src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts","../src/login/oidc/AggregateRedirectHandler.ts","../src/storage/BrowserStorage.ts","../src/login/oidc/Redirector.ts","../src/login/oidc/ClientRegistrar.ts","../src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts","../src/login/oidc/refresh/TokenRefresher.ts","../src/dependencies.ts","../src/constant.ts","../src/Session.ts","../src/defaultSession.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["StorageUtility","ClientAuthenticationBase","normalizeCallbackUrl","isValidRedirectUrl","EVENTS","removeOpenIdParams","ConfigurationError","handleRegistration","normalizeScopes","AuthorizationCodeWithPkceOidcHandlerBase","OidcClient","clearBase","clearOidcPersistentStorage","SessionInfoManagerBase","isSupportedTokenType","getUnauthenticatedSession","loadOidcContextFromStorage","getTokens","buildAuthenticatedFetch","saveSessionInfoToStorage","maybeBuildRpInitiatedLogout","AggregateHandler","isKnownClientType","registerClient","refresh","InMemoryStorage","IWaterfallLogoutHandler","SOLID_CLIENT_AUTHN_KEY_PREFIX","v4","fetch"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/storage/StorageUtility.ts","../src/ClientAuthentication.ts","../src/login/oidc/OidcLoginHandler.ts","../src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts","../src/login/oidc/IssuerConfigFetcher.ts","../src/sessionInfo/SessionInfoManager.ts","../src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts","../src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts","../src/login/oidc/AggregateRedirectHandler.ts","../src/storage/BrowserStorage.ts","../src/login/oidc/Redirector.ts","../src/login/oidc/ClientRegistrar.ts","../src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts","../src/login/oidc/refresh/TokenRefresher.ts","../src/dependencies.ts","../src/constant.ts","../src/Session.ts","../src/defaultSession.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["StorageUtility","ClientAuthenticationBase","normalizeCallbackUrl","isValidRedirectUrl","EVENTS","removeOpenIdParams","ConfigurationError","handleRegistration","normalizeScopes","AuthorizationCodeWithPkceOidcHandlerBase","OidcClient","clearBase","clearOidcPersistentStorage","SessionInfoManagerBase","isSupportedTokenType","getUnauthenticatedSession","loadOidcContextFromStorage","getTokens","buildAuthenticatedFetch","saveSessionInfoToStorage","maybeBuildRpInitiatedLogout","AggregateHandler","isKnownClientType","registerClient","refresh","InMemoryStorage","IWaterfallLogoutHandler","SOLID_CLIENT_AUTHN_KEY_PREFIX","v4","fetch"],"mappings":"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"}