oidc-spa 0.1.0 → 1.0.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
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <img src="https://user-images.githubusercontent.com/6702424/80216211-00ef5280-863e-11ea-81de-59f3a3d4b8e4.png">
2
+ <img src="https://github.com/garronej/oidc-spa/assets/6702424/6adde1f7-b7b6-4b1a-b48f-bd02095b99ea">
3
3
  </p>
4
4
  <p align="center">
5
5
  <i>Openidconnect client for Single Page Applications</i>
@@ -24,24 +24,21 @@
24
24
  <a href="https://github.com/garronej/oidc-spa">Documentation</a>
25
25
  </p>
26
26
 
27
- An OIDC client for Single Page Applications that comes with an optional adapter for React.
28
- Very minimal API surface, you don't need to know the in and out of oidc or OAuth to use this.
27
+ An OIDC client designed for Single Page Applications, typically [Vite](https://vitejs.dev/) projects.
28
+ With a streamlined API, you can easily integrate OIDC without needing to understand every detail of the protocol.
29
29
 
30
- Why not oidc-client-ts ?
30
+ ## Comparison with Existing Libraries
31
31
 
32
- - `oidc-client-ts` more a toolkit than a ready to use adapter. This lib use it internally but abstract away most of it's complexity.
33
- - It's used under the hood by this lib but it's hard to setup directly in a SPA setup especially the silent SSO.
34
- - It's more resilient do misconfigured server.
35
- - It restrict what params can be passed on the url when redirecting to the login page.
32
+ ### [oidc-client-ts](https://github.com/authts/oidc-client-ts)
36
33
 
37
- Why not react-oidc-context?
34
+ While `oidc-client-ts` serves as a comprehensive toolkit, our library aims to provide a simplified, ready-to-use adapter. We utilize `oidc-client-ts` internally but abstract away most of its intricacies.
38
35
 
39
- - There's no overlap between OIDC and React. Not everything should be though as a React problem. Oidc and React are
40
- completely different problem space they have no business being intertwined.
41
- This library provide an optional React adapter for convenience in the spirit of being truly ready to use but don't
42
- get mistaken, it's trivial you could as well do without it.
36
+ ### [react-oidc-context](https://github.com/authts/react-oidc-context)
43
37
 
44
- # Install / Import
38
+ Our library takes a modular approach to OIDC and React, treating them as separate concerns that don't necessarily have to be intertwined.
39
+ We offer an optional React adapter for added convenience, but it's not a requirement to use it and [it's really trivial anyway](https://github.com/garronej/oidc-spa/blob/main/src/react.tsx).
40
+
41
+ ## Usage
45
42
 
46
43
  ```bash
47
44
  $ yarn add oidc-spa
@@ -59,9 +56,7 @@ Create a `silent-sso.html` file and put it in your public directory.
59
56
  </html>
60
57
  ```
61
58
 
62
- # Usage
63
-
64
- ## Isolated from the UI library
59
+ ### Option 1: Usage without involving the UI framework
65
60
 
66
61
  ```ts
67
62
  import { createOidc, decodeJwt } from "oidc-spa";
@@ -91,19 +86,21 @@ import { createOidc, decodeJwt } from "oidc-spa";
91
86
  idToken
92
87
  } = oidc.getTokens();
93
88
 
94
- const { sub, preferred_username } = decodeJwt<{
89
+ const user = decodeJwt<{
95
90
  // Use https://jwt.io/ to tell what's in your idToken
96
91
  sub: string;
97
92
  preferred_username: string;
98
93
  }>(idToken);
99
94
 
95
+ console.log(`Hello ${user.preferred_username}`);
96
+
100
97
  // To call when the user click on logout.
101
98
  oidc.logout();
102
99
  }
103
100
  })();
104
101
  ```
105
102
 
106
- ## Use via React Adapter
103
+ ## Option 2: Usage directly within React
107
104
 
108
105
  ```tsx
109
106
  import { createOidcProvider, useOidc } from "oidc-spa/react";
@@ -139,27 +136,83 @@ function App() {
139
136
  );
140
137
  }
141
138
 
142
- const { preferred_username } = decodeJwt<{
143
- preferred_username: string;
144
- }>(oidc.getTokens().idToken);
139
+ return <AppLoggedIn />;
140
+ }
141
+
142
+ function AppLoggedIn() {
143
+ const { oidc } = useOidc();
144
+ const { user } = useUser();
145
145
 
146
146
  return (
147
147
  <>
148
- <h1>Hello {preferred_username}</h1>
148
+ <h1>Hello {user.preferred_username}</h1>
149
149
  <button onClick={() => oidc.logout()}>Log out</button>
150
150
  </>
151
151
  );
152
152
  }
153
+
154
+ // Convenience hook to get the parsed idToken
155
+ // To call only when the user is logged in
156
+ function useUser() {
157
+ const { oidc } = useOidc();
158
+
159
+ if (!oidc.isUserLoggedIn) {
160
+ throw new Error("This hook should be used only on authenticated routes");
161
+ }
162
+
163
+ const { idToken } = oidc.getTokens();
164
+
165
+ const user = useMemo(
166
+ () =>
167
+ decodeJwt<{
168
+ // Use https://jwt.io/ to tell what's in your idToken
169
+ sub: string;
170
+ preferred_username: string;
171
+ }>(idToken),
172
+ idToken
173
+ );
174
+
175
+ return { user };
176
+ }
153
177
  ```
154
178
 
155
- # Setup example
179
+ ## Demo setup
156
180
 
157
- - Basic setup: https://github.com/keycloakify/keycloakify-starter
158
- - Fully fledged app: https://github.com/InseeFrLab/onyxia
181
+ <p align="center">
182
+ <img width="764" alt="image" src="https://github.com/garronej/oidc-spa/assets/6702424/1c8922de-d724-4e9d-b630-e82562449612">
183
+ </p>
184
+
185
+ A very basic setup with Keycloak and Create React App.
186
+
187
+ - It's live here: https://starter.keycloakify.dev/
188
+ - The source code is [here](https://github.com/keycloakify/keycloakify-starter).
189
+ The setup is collocated with a custom Keycloak theme. The part where we use `oidc-spa` is [here](https://github.com/keycloakify/keycloakify-starter/blob/main/src/App/App.tsx).
190
+
191
+ ## Showcases
192
+
193
+ This library is powers the authentication of the following platforms:
194
+
195
+ ### Onyxia
196
+
197
+ - [Source code](https://github.com/InseeFrLab/onyxia)
198
+ - [Public instance](https://datalab.sspcloud.fr)
159
199
 
160
- # Contributing
200
+ <a href="https://youtu.be/FvpNfVrxBFM">
201
+ <img width="1712" alt="image" src="https://user-images.githubusercontent.com/6702424/231314534-2eeb1ab5-5460-4caa-b78d-55afd400c9fc.png">
202
+ </a>
161
203
 
162
- ## Testing your changes in an external app
204
+ ### The French Interministerial Base of Free Software
205
+
206
+ - [Source code](https://github.com/codegouvfr/sill-web/)
207
+ - [Deployment of the website](https://code.gouv.fr/sill)
208
+
209
+ <a href="https://youtu.be/AT3CvmY_Y7M?si=Edkf0vRNjosGLA3R">
210
+ <img width="1712" alt="image" src="https://github.com/garronej/i18nifty/assets/6702424/aa06cc30-b2bd-4c8b-b435-2f875f53175b">
211
+ </a>
212
+
213
+ ## Contributing
214
+
215
+ ### Testing your changes in an external app
163
216
 
164
217
  You have made some changes to the code and you want to test them
165
218
  in your app before submitting a pull request?
@@ -193,13 +246,3 @@ are in the same directory.
193
246
  > Note for the maintainer: You might run into issues if you do not list all your singleton dependencies in
194
247
  > `src/link-in-app.js -> singletonDependencies`. A singleton dependency is a dependency that can
195
248
  > only be present once in an App. Singleton dependencies are usually listed as peerDependencies example `react`, `@emotion/*`.
196
-
197
- ## Releasing
198
-
199
- For releasing a new version on GitHub and NPM you don't need to create a tag.
200
- Just update the `package.json` version number and push.
201
-
202
- For publishing a release candidate update your `package.json` with `1.3.4-rc.0` (`.1`, `.2`, ...).
203
- It also work if you do it from a branch that have an open PR on main.
204
-
205
- > Make sure your have defined the `NPM_TOKEN` repository secret or NPM publishing will fail.
package/oidc.js CHANGED
@@ -88,7 +88,7 @@ var oidc_client_ts_1 = require("oidc-client-ts");
88
88
  var id_1 = require("tsafe/id");
89
89
  var readExpirationTimeInJwt_1 = require("./tools/readExpirationTimeInJwt");
90
90
  var assert_1 = require("tsafe/assert");
91
- var urlSearchParams_1 = require("./tools/urlSearchParams");
91
+ var urlQueryParams_1 = require("./tools/urlQueryParams");
92
92
  var fnv1aHashToHex_1 = require("./tools/fnv1aHashToHex");
93
93
  var Deferred_1 = require("./tools/Deferred");
94
94
  var paramsToRetrieveFromSuccessfulLogin = ["code", "state", "session_state"];
@@ -136,7 +136,7 @@ function createOidc(params) {
136
136
  case 0:
137
137
  URL_real = window.URL;
138
138
  Object.defineProperty(window, "URL", { "value": URL });
139
- redirect_uri = (0, urlSearchParams_1.addParamToUrl)({
139
+ redirect_uri = (0, urlQueryParams_1.addQueryParamToUrl)({
140
140
  "url": window.location.href,
141
141
  "name": configHashKey,
142
142
  "value": configHash
@@ -161,14 +161,14 @@ function createOidc(params) {
161
161
  case 0:
162
162
  url = window.location.href;
163
163
  {
164
- result = (0, urlSearchParams_1.retrieveParamFromUrl)({ "name": configHashKey, url: url });
164
+ result = (0, urlQueryParams_1.retrieveQueryParamFromUrl)({ "name": configHashKey, url: url });
165
165
  if (!result.wasPresent || result.value !== configHash) {
166
166
  return [3 /*break*/, 5];
167
167
  }
168
168
  url = result.newUrl;
169
169
  }
170
170
  {
171
- result = (0, urlSearchParams_1.retrieveParamFromUrl)({ "name": "error", url: url });
171
+ result = (0, urlQueryParams_1.retrieveQueryParamFromUrl)({ "name": "error", url: url });
172
172
  if (result.wasPresent) {
173
173
  throw new Error("OIDC error: ".concat(result.value));
174
174
  }
@@ -177,9 +177,9 @@ function createOidc(params) {
177
177
  try {
178
178
  for (paramsToRetrieveFromSuccessfulLogin_1 = __values(paramsToRetrieveFromSuccessfulLogin), paramsToRetrieveFromSuccessfulLogin_1_1 = paramsToRetrieveFromSuccessfulLogin_1.next(); !paramsToRetrieveFromSuccessfulLogin_1_1.done; paramsToRetrieveFromSuccessfulLogin_1_1 = paramsToRetrieveFromSuccessfulLogin_1.next()) {
179
179
  name_1 = paramsToRetrieveFromSuccessfulLogin_1_1.value;
180
- result = (0, urlSearchParams_1.retrieveParamFromUrl)({ name: name_1, url: url });
180
+ result = (0, urlQueryParams_1.retrieveQueryParamFromUrl)({ name: name_1, url: url });
181
181
  (0, assert_1.assert)(result.wasPresent);
182
- loginSuccessUrl = (0, urlSearchParams_1.addParamToUrl)({
182
+ loginSuccessUrl = (0, urlQueryParams_1.addQueryParamToUrl)({
183
183
  "url": loginSuccessUrl,
184
184
  "name": name_1,
185
185
  "value": result.value
@@ -239,7 +239,7 @@ function createOidc(params) {
239
239
  {
240
240
  var result = void 0;
241
241
  try {
242
- result = (0, urlSearchParams_1.retrieveParamFromUrl)({ "name": configHashKey, url: url });
242
+ result = (0, urlQueryParams_1.retrieveQueryParamFromUrl)({ "name": configHashKey, url: url });
243
243
  }
244
244
  catch (_b) {
245
245
  // This could possibly happen if url is not a valid url.
@@ -252,7 +252,7 @@ function createOidc(params) {
252
252
  clearTimeout(timeout_1);
253
253
  window.removeEventListener("message", listener_1);
254
254
  {
255
- var result = (0, urlSearchParams_1.retrieveParamFromUrl)({ "name": "error", url: url });
255
+ var result = (0, urlQueryParams_1.retrieveQueryParamFromUrl)({ "name": "error", url: url });
256
256
  if (result.wasPresent) {
257
257
  dLoginSuccessUrl_1.resolve(undefined);
258
258
  return;
@@ -262,9 +262,9 @@ function createOidc(params) {
262
262
  try {
263
263
  for (var paramsToRetrieveFromSuccessfulLogin_2 = __values(paramsToRetrieveFromSuccessfulLogin), paramsToRetrieveFromSuccessfulLogin_2_1 = paramsToRetrieveFromSuccessfulLogin_2.next(); !paramsToRetrieveFromSuccessfulLogin_2_1.done; paramsToRetrieveFromSuccessfulLogin_2_1 = paramsToRetrieveFromSuccessfulLogin_2.next()) {
264
264
  var name_2 = paramsToRetrieveFromSuccessfulLogin_2_1.value;
265
- var result = (0, urlSearchParams_1.retrieveParamFromUrl)({ name: name_2, url: url });
265
+ var result = (0, urlQueryParams_1.retrieveQueryParamFromUrl)({ name: name_2, url: url });
266
266
  (0, assert_1.assert)(result.wasPresent);
267
- loginSuccessUrl = (0, urlSearchParams_1.addParamToUrl)({
267
+ loginSuccessUrl = (0, urlQueryParams_1.addQueryParamToUrl)({
268
268
  "url": loginSuccessUrl,
269
269
  "name": name_2,
270
270
  "value": result.value
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": "0.1.0",
3
+ "version": "1.0.0",
4
4
  "description": "Openidconnect client for Single Page Applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,10 +13,11 @@
13
13
  "./index": "./index.js",
14
14
  "./oidc": "./oidc.js",
15
15
  "./react": "./react.js",
16
+ "./tools/decodeJwt": "./tools/decodeJwt.js",
16
17
  "./tools/Deferred": "./tools/Deferred.js",
17
18
  "./tools/fnv1aHashToHex": "./tools/fnv1aHashToHex.js",
18
19
  "./tools/readExpirationTimeInJwt": "./tools/readExpirationTimeInJwt.js",
19
- "./tools/urlSearchParams": "./tools/urlSearchParams.js"
20
+ "./tools/urlQueryParams": "./tools/urlQueryParams.js"
20
21
  },
21
22
  "lint-staged": {
22
23
  "*.{ts,tsx,json,md}": [
@@ -35,9 +36,10 @@
35
36
  "./src/oidc.ts",
36
37
  "./src/react.tsx",
37
38
  "./src/tools/Deferred.ts",
39
+ "./src/tools/decodeJwt.ts",
38
40
  "./src/tools/fnv1aHashToHex.ts",
39
41
  "./src/tools/readExpirationTimeInJwt.ts",
40
- "./src/tools/urlSearchParams.ts",
42
+ "./src/tools/urlQueryParams.ts",
41
43
  "./index.d.ts",
42
44
  "./index.js",
43
45
  "./index.js.map",
@@ -50,15 +52,18 @@
50
52
  "./tools/Deferred.d.ts",
51
53
  "./tools/Deferred.js",
52
54
  "./tools/Deferred.js.map",
55
+ "./tools/decodeJwt.d.ts",
56
+ "./tools/decodeJwt.js",
57
+ "./tools/decodeJwt.js.map",
53
58
  "./tools/fnv1aHashToHex.d.ts",
54
59
  "./tools/fnv1aHashToHex.js",
55
60
  "./tools/fnv1aHashToHex.js.map",
56
61
  "./tools/readExpirationTimeInJwt.d.ts",
57
62
  "./tools/readExpirationTimeInJwt.js",
58
63
  "./tools/readExpirationTimeInJwt.js.map",
59
- "./tools/urlSearchParams.d.ts",
60
- "./tools/urlSearchParams.js",
61
- "./tools/urlSearchParams.js.map"
64
+ "./tools/urlQueryParams.d.ts",
65
+ "./tools/urlQueryParams.js",
66
+ "./tools/urlQueryParams.js.map"
62
67
  ],
63
68
  "keywords": [],
64
69
  "homepage": "https://github.com/garronej/oidc-spa",
package/react.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { type ReactNode } from "react";
2
2
  import { createOidc, type Oidc } from "./oidc";
3
- export declare function createOidcClientProvider(params: Parameters<typeof createOidc>[0]): {
4
- OidcClientProvider: (props: {
3
+ export declare function createOidcProvider(params: Parameters<typeof createOidc>[0]): {
4
+ OidcProvider: (props: {
5
5
  fallback?: ReactNode;
6
6
  children: ReactNode;
7
7
  }) => import("react/jsx-runtime").JSX.Element;
package/react.js CHANGED
@@ -27,15 +27,15 @@ var __read = (this && this.__read) || function (o, n) {
27
27
  return ar;
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.useOidc = exports.createOidcClientProvider = void 0;
30
+ exports.useOidc = exports.createOidcProvider = void 0;
31
31
  var jsx_runtime_1 = require("react/jsx-runtime");
32
32
  var react_1 = require("react");
33
33
  var oidc_1 = require("./oidc");
34
34
  var assert_1 = require("tsafe/assert");
35
35
  var oidcClientContext = (0, react_1.createContext)(undefined);
36
- function createOidcClientProvider(params) {
36
+ function createOidcProvider(params) {
37
37
  var prOidc = (0, oidc_1.createOidc)(params);
38
- function OidcClientProvider(props) {
38
+ function OidcProvider(props) {
39
39
  var children = props.children, fallback = props.fallback;
40
40
  var _a = __read((0, react_1.useState)(undefined), 2), oidcClient = _a[0], setOidcClient = _a[1];
41
41
  (0, react_1.useEffect)(function () {
@@ -46,9 +46,9 @@ function createOidcClientProvider(params) {
46
46
  }
47
47
  return (0, jsx_runtime_1.jsx)(oidcClientContext.Provider, __assign({ value: oidcClient }, { children: children }));
48
48
  }
49
- return { OidcClientProvider: OidcClientProvider };
49
+ return { OidcProvider: OidcProvider };
50
50
  }
51
- exports.createOidcClientProvider = createOidcClientProvider;
51
+ exports.createOidcProvider = createOidcProvider;
52
52
  function useOidc() {
53
53
  var oidc = (0, react_1.useContext)(oidcClientContext);
54
54
  (0, assert_1.assert)(oidc !== undefined, "You must use useOidc inside a OidcClientProvider");
package/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["src/react.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAuF;AACvF,+BAA+C;AAC/C,uCAAsC;AAEtC,IAAM,iBAAiB,GAAG,IAAA,qBAAa,EAAmB,SAAS,CAAC,CAAC;AAErE,SAAgB,wBAAwB,CAAC,MAAwC;IAC7E,IAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAC;IAElC,SAAS,kBAAkB,CAAC,KAAoD;QACpE,IAAA,QAAQ,GAAe,KAAK,SAApB,EAAE,QAAQ,GAAK,KAAK,SAAV,CAAW;QAE/B,IAAA,KAAA,OAA8B,IAAA,gBAAQ,EAAmB,SAAS,CAAC,IAAA,EAAlE,UAAU,QAAA,EAAE,aAAa,QAAyC,CAAC;QAE1E,IAAA,iBAAS,EAAC;YACN,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,OAAO,2DAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAI,CAAC;SAC1D;QAED,OAAO,uBAAC,iBAAiB,CAAC,QAAQ,aAAC,KAAK,EAAE,UAAU,gBAAG,QAAQ,IAA8B,CAAC;IAClG,CAAC;IAED,OAAO,EAAE,kBAAkB,oBAAA,EAAE,CAAC;AAClC,CAAC;AApBD,4DAoBC;AAED,SAAgB,OAAO;IACnB,IAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAA,eAAM,EAAC,IAAI,KAAK,SAAS,EAAE,kDAAkD,CAAC,CAAC;IAC/E,OAAO,EAAE,IAAI,MAAA,EAAE,CAAC;AACpB,CAAC;AAJD,0BAIC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["src/react.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAuF;AACvF,+BAA+C;AAC/C,uCAAsC;AAEtC,IAAM,iBAAiB,GAAG,IAAA,qBAAa,EAAmB,SAAS,CAAC,CAAC;AAErE,SAAgB,kBAAkB,CAAC,MAAwC;IACvE,IAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAC;IAElC,SAAS,YAAY,CAAC,KAAoD;QAC9D,IAAA,QAAQ,GAAe,KAAK,SAApB,EAAE,QAAQ,GAAK,KAAK,SAAV,CAAW;QAE/B,IAAA,KAAA,OAA8B,IAAA,gBAAQ,EAAmB,SAAS,CAAC,IAAA,EAAlE,UAAU,QAAA,EAAE,aAAa,QAAyC,CAAC;QAE1E,IAAA,iBAAS,EAAC;YACN,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,OAAO,2DAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAI,CAAC;SAC1D;QAED,OAAO,uBAAC,iBAAiB,CAAC,QAAQ,aAAC,KAAK,EAAE,UAAU,gBAAG,QAAQ,IAA8B,CAAC;IAClG,CAAC;IAED,OAAO,EAAE,YAAY,cAAA,EAAE,CAAC;AAC5B,CAAC;AApBD,gDAoBC;AAED,SAAgB,OAAO;IACnB,IAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAA,eAAM,EAAC,IAAI,KAAK,SAAS,EAAE,kDAAkD,CAAC,CAAC;IAC/E,OAAO,EAAE,IAAI,MAAA,EAAE,CAAC;AACpB,CAAC;AAJD,0BAIC"}
package/src/oidc.ts CHANGED
@@ -2,7 +2,7 @@ import { UserManager, type User } from "oidc-client-ts";
2
2
  import { id } from "tsafe/id";
3
3
  import { readExpirationTimeInJwt } from "./tools/readExpirationTimeInJwt";
4
4
  import { assert } from "tsafe/assert";
5
- import { addParamToUrl, retrieveParamFromUrl } from "./tools/urlSearchParams";
5
+ import { addQueryParamToUrl, retrieveQueryParamFromUrl } from "./tools/urlQueryParams";
6
6
  import { fnv1aHashToHex } from "./tools/fnv1aHashToHex";
7
7
  import { Deferred } from "./tools/Deferred";
8
8
 
@@ -90,7 +90,7 @@ export async function createOidc(params: {
90
90
 
91
91
  Object.defineProperty(window, "URL", { "value": URL });
92
92
 
93
- const { newUrl: redirect_uri } = addParamToUrl({
93
+ const { newUrl: redirect_uri } = addQueryParamToUrl({
94
94
  "url": window.location.href,
95
95
  "name": configHashKey,
96
96
  "value": configHash
@@ -108,7 +108,7 @@ export async function createOidc(params: {
108
108
  let url = window.location.href;
109
109
 
110
110
  {
111
- const result = retrieveParamFromUrl({ "name": configHashKey, url });
111
+ const result = retrieveQueryParamFromUrl({ "name": configHashKey, url });
112
112
 
113
113
  if (!result.wasPresent || result.value !== configHash) {
114
114
  break read_successful_login_query_params;
@@ -118,7 +118,7 @@ export async function createOidc(params: {
118
118
  }
119
119
 
120
120
  {
121
- const result = retrieveParamFromUrl({ "name": "error", url });
121
+ const result = retrieveQueryParamFromUrl({ "name": "error", url });
122
122
 
123
123
  if (result.wasPresent) {
124
124
  throw new Error(`OIDC error: ${result.value}`);
@@ -128,11 +128,11 @@ export async function createOidc(params: {
128
128
  let loginSuccessUrl = "https://dummy.com";
129
129
 
130
130
  for (const name of paramsToRetrieveFromSuccessfulLogin) {
131
- const result = retrieveParamFromUrl({ name, url });
131
+ const result = retrieveQueryParamFromUrl({ name, url });
132
132
 
133
133
  assert(result.wasPresent);
134
134
 
135
- loginSuccessUrl = addParamToUrl({
135
+ loginSuccessUrl = addQueryParamToUrl({
136
136
  "url": loginSuccessUrl,
137
137
  "name": name,
138
138
  "value": result.value
@@ -191,10 +191,10 @@ export async function createOidc(params: {
191
191
  const url = event.data;
192
192
 
193
193
  {
194
- let result: ReturnType<typeof retrieveParamFromUrl>;
194
+ let result: ReturnType<typeof retrieveQueryParamFromUrl>;
195
195
 
196
196
  try {
197
- result = retrieveParamFromUrl({ "name": configHashKey, url });
197
+ result = retrieveQueryParamFromUrl({ "name": configHashKey, url });
198
198
  } catch {
199
199
  // This could possibly happen if url is not a valid url.
200
200
  return;
@@ -210,7 +210,7 @@ export async function createOidc(params: {
210
210
  window.removeEventListener("message", listener);
211
211
 
212
212
  {
213
- const result = retrieveParamFromUrl({ "name": "error", url });
213
+ const result = retrieveQueryParamFromUrl({ "name": "error", url });
214
214
 
215
215
  if (result.wasPresent) {
216
216
  dLoginSuccessUrl.resolve(undefined);
@@ -221,11 +221,11 @@ export async function createOidc(params: {
221
221
  let loginSuccessUrl = "https://dummy.com";
222
222
 
223
223
  for (const name of paramsToRetrieveFromSuccessfulLogin) {
224
- const result = retrieveParamFromUrl({ name, url });
224
+ const result = retrieveQueryParamFromUrl({ name, url });
225
225
 
226
226
  assert(result.wasPresent);
227
227
 
228
- loginSuccessUrl = addParamToUrl({
228
+ loginSuccessUrl = addQueryParamToUrl({
229
229
  "url": loginSuccessUrl,
230
230
  "name": name,
231
231
  "value": result.value
package/src/react.tsx CHANGED
@@ -4,10 +4,10 @@ import { assert } from "tsafe/assert";
4
4
 
5
5
  const oidcClientContext = createContext<Oidc | undefined>(undefined);
6
6
 
7
- export function createOidcClientProvider(params: Parameters<typeof createOidc>[0]) {
7
+ export function createOidcProvider(params: Parameters<typeof createOidc>[0]) {
8
8
  const prOidc = createOidc(params);
9
9
 
10
- function OidcClientProvider(props: { fallback?: ReactNode; children: ReactNode }) {
10
+ function OidcProvider(props: { fallback?: ReactNode; children: ReactNode }) {
11
11
  const { children, fallback } = props;
12
12
 
13
13
  const [oidcClient, setOidcClient] = useState<Oidc | undefined>(undefined);
@@ -23,7 +23,7 @@ export function createOidcClientProvider(params: Parameters<typeof createOidc>[0
23
23
  return <oidcClientContext.Provider value={oidcClient}>{children}</oidcClientContext.Provider>;
24
24
  }
25
25
 
26
- return { OidcClientProvider };
26
+ return { OidcProvider };
27
27
  }
28
28
 
29
29
  export function useOidc() {
File without changes
@@ -1,9 +1,11 @@
1
- export function addParamToUrl(params: { url: string; name: string; value: string }): { newUrl: string } {
1
+ export function addQueryParamToUrl(params: { url: string; name: string; value: string }): {
2
+ newUrl: string;
3
+ } {
2
4
  const { url, name, value } = params;
3
5
 
4
6
  let newUrl = url;
5
7
 
6
- const result = retrieveParamFromUrl({
8
+ const result = retrieveQueryParamFromUrl({
7
9
  url,
8
10
  name
9
11
  });
@@ -19,7 +21,7 @@ export function addParamToUrl(params: { url: string; name: string; value: string
19
21
  return { newUrl };
20
22
  }
21
23
 
22
- export function retrieveAllParamStartingWithPrefixFromUrl<
24
+ export function retrieveAllQueryParamStartingWithPrefixFromUrl<
23
25
  Prefix extends string,
24
26
  DoLeave extends boolean
25
27
  >(params: {
@@ -58,13 +60,13 @@ export function retrieveAllParamStartingWithPrefixFromUrl<
58
60
  };
59
61
  }
60
62
 
61
- export function retrieveParamFromUrl(params: {
63
+ export function retrieveQueryParamFromUrl(params: {
62
64
  url: string;
63
65
  name: string;
64
66
  }): { wasPresent: false } | { wasPresent: true; newUrl: string; value: string } {
65
67
  const { url, name } = params;
66
68
 
67
- const { newUrl, values } = retrieveAllParamStartingWithPrefixFromUrl({
69
+ const { newUrl, values } = retrieveAllQueryParamStartingWithPrefixFromUrl({
68
70
  url,
69
71
  "prefix": name,
70
72
  "doLeavePrefixInResults": true
@@ -80,7 +82,3 @@ export function retrieveParamFromUrl(params: {
80
82
  "wasPresent": false
81
83
  };
82
84
  }
83
-
84
- export function updateSearchBarUrl(url: string) {
85
- window.history.replaceState("", "", url);
86
- }
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=decodeJwt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decodeJwt.js","sourceRoot":"","sources":["../src/tools/decodeJwt.ts"],"names":[],"mappings":""}
@@ -1,11 +1,11 @@
1
- export declare function addParamToUrl(params: {
1
+ export declare function addQueryParamToUrl(params: {
2
2
  url: string;
3
3
  name: string;
4
4
  value: string;
5
5
  }): {
6
6
  newUrl: string;
7
7
  };
8
- export declare function retrieveAllParamStartingWithPrefixFromUrl<Prefix extends string, DoLeave extends boolean>(params: {
8
+ export declare function retrieveAllQueryParamStartingWithPrefixFromUrl<Prefix extends string, DoLeave extends boolean>(params: {
9
9
  url: string;
10
10
  prefix: Prefix;
11
11
  doLeavePrefixInResults: DoLeave;
@@ -13,7 +13,7 @@ export declare function retrieveAllParamStartingWithPrefixFromUrl<Prefix extends
13
13
  newUrl: string;
14
14
  values: Record<DoLeave extends true ? `${Prefix}${string}` : string, string>;
15
15
  };
16
- export declare function retrieveParamFromUrl(params: {
16
+ export declare function retrieveQueryParamFromUrl(params: {
17
17
  url: string;
18
18
  name: string;
19
19
  }): {
@@ -23,4 +23,3 @@ export declare function retrieveParamFromUrl(params: {
23
23
  newUrl: string;
24
24
  value: string;
25
25
  };
26
- export declare function updateSearchBarUrl(url: string): void;
@@ -16,11 +16,11 @@ var __read = (this && this.__read) || function (o, n) {
16
16
  return ar;
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.updateSearchBarUrl = exports.retrieveParamFromUrl = exports.retrieveAllParamStartingWithPrefixFromUrl = exports.addParamToUrl = void 0;
20
- function addParamToUrl(params) {
19
+ exports.retrieveQueryParamFromUrl = exports.retrieveAllQueryParamStartingWithPrefixFromUrl = exports.addQueryParamToUrl = void 0;
20
+ function addQueryParamToUrl(params) {
21
21
  var url = params.url, name = params.name, value = params.value;
22
22
  var newUrl = url;
23
- var result = retrieveParamFromUrl({
23
+ var result = retrieveQueryParamFromUrl({
24
24
  url: url,
25
25
  name: name
26
26
  });
@@ -30,8 +30,8 @@ function addParamToUrl(params) {
30
30
  newUrl += "".concat(newUrl.includes("?") ? "&" : newUrl.endsWith("?") ? "" : "?").concat(name, "=").concat(encodeURIComponent(value));
31
31
  return { newUrl: newUrl };
32
32
  }
33
- exports.addParamToUrl = addParamToUrl;
34
- function retrieveAllParamStartingWithPrefixFromUrl(params) {
33
+ exports.addQueryParamToUrl = addQueryParamToUrl;
34
+ function retrieveAllQueryParamStartingWithPrefixFromUrl(params) {
35
35
  var url = params.url, prefix = params.prefix, doLeavePrefixInResults = params.doLeavePrefixInResults;
36
36
  var _a = __read(url.split("?"), 2), baseUrl = _a[0], _b = _a[1], locationSearch = _b === void 0 ? "" : _b;
37
37
  var values = {};
@@ -58,10 +58,10 @@ function retrieveAllParamStartingWithPrefixFromUrl(params) {
58
58
  values: values
59
59
  };
60
60
  }
61
- exports.retrieveAllParamStartingWithPrefixFromUrl = retrieveAllParamStartingWithPrefixFromUrl;
62
- function retrieveParamFromUrl(params) {
61
+ exports.retrieveAllQueryParamStartingWithPrefixFromUrl = retrieveAllQueryParamStartingWithPrefixFromUrl;
62
+ function retrieveQueryParamFromUrl(params) {
63
63
  var url = params.url, name = params.name;
64
- var _a = retrieveAllParamStartingWithPrefixFromUrl({
64
+ var _a = retrieveAllQueryParamStartingWithPrefixFromUrl({
65
65
  url: url,
66
66
  "prefix": name,
67
67
  "doLeavePrefixInResults": true
@@ -76,9 +76,5 @@ function retrieveParamFromUrl(params) {
76
76
  "wasPresent": false
77
77
  };
78
78
  }
79
- exports.retrieveParamFromUrl = retrieveParamFromUrl;
80
- function updateSearchBarUrl(url) {
81
- window.history.replaceState("", "", url);
82
- }
83
- exports.updateSearchBarUrl = updateSearchBarUrl;
84
- //# sourceMappingURL=urlSearchParams.js.map
79
+ exports.retrieveQueryParamFromUrl = retrieveQueryParamFromUrl;
80
+ //# sourceMappingURL=urlQueryParams.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"urlSearchParams.js","sourceRoot":"","sources":["../src/tools/urlSearchParams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"urlQueryParams.js","sourceRoot":"","sources":["../src/tools/urlQueryParams.ts"],"names":[],"mappings":"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"}