oidc-spa 4.9.1 → 4.9.2

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
@@ -16,7 +16,7 @@
16
16
  </a>
17
17
  </p>
18
18
  <p align="center">
19
- Check out our discord server!<br/>
19
+ We're here to help!<br/>
20
20
  <a href="https://discord.gg/mJdYJSdcm4">
21
21
  <img src="https://dcbadge.limes.pink/api/server/kYFZG7fQmn"/>
22
22
  </a>
@@ -27,13 +27,14 @@
27
27
  <a href="https://docs.oidc-spa.dev">Documentation</a>
28
28
  </p>
29
29
 
30
- An OIDC client tailored for Single Page Applications, particularly suitable for [Vite](https://vitejs.dev/) projects.\
30
+ An Open ID Connect client tailored for Single Page Applications, particularly suitable for [Vite](https://vitejs.dev/) projects.\
31
31
  This library is intended for scenarios such as integrating your application with [Keycloak](https://www.keycloak.org/). &#x20;
32
32
 
33
33
  In straightforward terms, this library is ideal for those seeking to enable user login/registration in their web application. When used in conjunction with Keycloak (for example), it enables you to offer a modern and secure authentication experience with minimal coding effort. This includes options for signing in via Google, X, GitHub, or other social media platforms. We provide comprehensive guidance from beginning to end.
34
34
 
35
- - 🎓 Accessible to all skill levels; no need to be an OIDC expert.
35
+ - 🎓 Accessible to all skill levels; no need to be an OIDC expert. And we are here to help [on Discord](https://discord.gg/mJdYJSdcm4).
36
36
  - 🛠️ Easy to set up; eliminates the need for creating special `/login` `/logout` routes.
37
+ - 💬 Helpful debug message telling you what's wrong in your configuration and how to fix it.
37
38
  - 🎛️ Minimal API surface for ease of use.
38
39
  - 🕣 Easy implementation of auto logout. _Are you still there? You will be logged out in 10...9..._
39
40
  - ✨ Robust yet optional React integration.
@@ -59,12 +60,45 @@ integration with:
59
60
 
60
61
  ### [keycloak-js](https://www.npmjs.com/package/keycloak-js)
61
62
 
62
- Beside the fact that this lib only works with Keycloak [it is also likely to be deprecated](https://www.keycloak.org/2023/03/adapter-deprecation-update).
63
+ The official OIDC Client for Keycloak. It only works with Keycloak and [will eventually be deprecated](https://www.keycloak.org/2023/03/adapter-deprecation-update).
64
+
65
+ ### [NextAuth.js](https://next-auth.js.org/)
66
+
67
+ NextAuth.js is a authentication solution for Next.js and features a [Keycloak adapter](https://next-auth.js.org/providers/keycloak).
68
+ `oidc-spa` is specifically designed for Single Page Applications, Next.js projects do not call in this category, so NextAuth.js is what you should use if you're using Next.js.
69
+
70
+ > _NOTE: We might create in the future a `oidc-mpa` library for Multi Page Applications that would aim at supporting Next.js projects._
63
71
 
64
72
  ## 🚀 Quick start
65
73
 
66
74
  Heads over to [the documentation website](https://docs.oidc-spa.dev) 📘!
67
75
 
76
+ ## Sponsor
77
+
78
+ <br/>
79
+
80
+ <div align="center">
81
+
82
+
83
+
84
+ </div>
85
+
86
+ <div align="center">
87
+
88
+ ![Logo Light](https://github.com/user-attachments/assets/2e5bce29-4149-44fc-9d17-789e17e9642b#gh-light-mode-only)
89
+
90
+ </div>
91
+
92
+ <br/>
93
+
94
+ <p align="center">
95
+ <a href="https://www.zone2.tech/services/keycloak-consulting">
96
+ <i><strong>Keycloak Consulting Services</strong> - Your partner in Keycloak deployment, configuration, and extension development for optimized identity management solutions.</i>
97
+ </a>
98
+ </p>
99
+
100
+ Thank you, [Zone2](https://www.zone2.tech/), backing the project!
101
+
68
102
  ## Showcases
69
103
 
70
104
  This library powers the authentication of the following platforms:
package/mock/react.d.ts CHANGED
@@ -2,20 +2,37 @@
2
2
  import { type ParamsOfCreateMockOidc } from "./oidc";
3
3
  /** @see: https://docs.oidc-spa.dev/documentation/mock */
4
4
  export declare function createMockReactOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean = false>(params: ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>): {
5
- OidcProvider: (props: {
5
+ OidcProvider: (ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> extends infer T ? T extends ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> ? T extends {
6
+ isAuthRequiredOnEveryPages?: true | undefined;
7
+ } ? true : false : never : never) extends infer T_1 ? T_1 extends (ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> extends infer T ? T extends ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> ? T extends {
8
+ isAuthRequiredOnEveryPages?: true | undefined;
9
+ } ? true : false : never : never) ? T_1 extends true ? (props: {
6
10
  fallback?: import("react").ReactNode;
7
11
  ErrorFallback?: ((props: {
8
12
  initializationError: import("..").OidcInitializationError;
9
13
  }) => import("react").ReactNode) | undefined;
10
14
  children: import("react").ReactNode;
11
- }) => JSX.Element;
12
- useOidc: {
15
+ }) => JSX.Element : (props: {
16
+ fallback?: import("react").ReactNode;
17
+ children: import("react").ReactNode;
18
+ }) => JSX.Element : never : never;
19
+ useOidc: (ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> extends infer T ? T extends ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> ? T extends {
20
+ isAuthRequiredOnEveryPages?: true | undefined;
21
+ } ? true : false : never : never) extends infer T_2 ? T_2 extends (ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> extends infer T ? T extends ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> ? T extends {
22
+ isAuthRequiredOnEveryPages?: true | undefined;
23
+ } ? true : false : never : never) ? T_2 extends true ? (params?: {
24
+ assertUserLoggedIn: true;
25
+ } | undefined) => import("../react/react").OidcReact.LoggedIn<DecodedIdToken> : {
13
26
  (params?: {
14
27
  assertUserLoggedIn: false;
15
28
  } | undefined): import("../react/react").OidcReact<DecodedIdToken>;
16
29
  (params: {
17
30
  assertUserLoggedIn: true;
18
31
  }): import("../react/react").OidcReact<DecodedIdToken>;
19
- };
20
- prOidc: Promise<import("..").Oidc<DecodedIdToken>>;
32
+ } : never : never;
33
+ prOidc: Promise<(ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> extends infer T ? T extends ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> ? T extends {
34
+ isAuthRequiredOnEveryPages?: true | undefined;
35
+ } ? true : false : never : never) extends infer T_3 ? T_3 extends (ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> extends infer T ? T extends ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> ? T extends {
36
+ isAuthRequiredOnEveryPages?: true | undefined;
37
+ } ? true : false : never : never) ? T_3 extends true ? import("..").Oidc.LoggedIn<DecodedIdToken> : import("..").Oidc<DecodedIdToken> : never : never>;
21
38
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oidc-spa",
3
- "version": "4.9.1",
3
+ "version": "4.9.2",
4
4
  "description": "Openidconnect client for Single Page Applications",
5
5
  "repository": {
6
6
  "type": "git",
package/react/react.d.ts CHANGED
@@ -28,14 +28,14 @@ export declare namespace OidcReact {
28
28
  }
29
29
  type OidcReactApi<DecodedIdToken extends Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean> = {
30
30
  OidcProvider: IsAuthRequiredOnEveryPages extends true ? (props: {
31
- fallback?: ReactNode;
32
- children: ReactNode;
33
- }) => JSX.Element : (props: {
34
31
  fallback?: ReactNode;
35
32
  ErrorFallback?: (props: {
36
33
  initializationError: OidcInitializationError;
37
34
  }) => ReactNode;
38
35
  children: ReactNode;
36
+ }) => JSX.Element : (props: {
37
+ fallback?: ReactNode;
38
+ children: ReactNode;
39
39
  }) => JSX.Element;
40
40
  useOidc: IsAuthRequiredOnEveryPages extends true ? {
41
41
  (params?: {
@@ -58,8 +58,10 @@ export declare function createOidcReactApi_dependencyInjection<DecodedIdToken ex
58
58
  parse: (data: unknown) => DecodedIdToken;
59
59
  } | undefined;
60
60
  } | {})>(params: ParamsOfCreateOidc, createOidc: (params: ParamsOfCreateOidc) => PromiseOrNot<Oidc<DecodedIdToken>>): OidcReactApi<DecodedIdToken, ParamsOfCreateOidc extends {
61
- isAuthRequiredOnEveryPages: boolean;
62
- } ? ParamsOfCreateOidc["isAuthRequiredOnEveryPages"] : false>;
61
+ isAuthRequiredOnEveryPages?: true | undefined;
62
+ } ? true : false>;
63
63
  /** @see: https://docs.oidc-spa.dev/documentation/usage#react-api */
64
- export declare function createReactOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean = false>(params: ParamsOfCreateOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>): OidcReactApi<DecodedIdToken, false>;
64
+ export declare function createReactOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean = false>(params: ParamsOfCreateOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>): OidcReactApi<DecodedIdToken, ParamsOfCreateOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> extends infer T ? T extends ParamsOfCreateOidc<DecodedIdToken, IsAuthRequiredOnEveryPages> ? T extends {
65
+ isAuthRequiredOnEveryPages?: true | undefined;
66
+ } ? true : false : never : never>;
65
67
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react/react.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react/react.tsx"],"names":[],"mappings":"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"}
@@ -48,14 +48,13 @@ type OidcReactApi<
48
48
  DecodedIdToken extends Record<string, unknown>,
49
49
  IsAuthRequiredOnEveryPages extends boolean
50
50
  > = {
51
- // TODO: Error fallback when auth required on every pages.
52
51
  OidcProvider: IsAuthRequiredOnEveryPages extends true
53
- ? (props: { fallback?: ReactNode; children: ReactNode }) => JSX.Element
54
- : (props: {
52
+ ? (props: {
55
53
  fallback?: ReactNode;
56
54
  ErrorFallback?: (props: { initializationError: OidcInitializationError }) => ReactNode;
57
55
  children: ReactNode;
58
- }) => JSX.Element;
56
+ }) => JSX.Element
57
+ : (props: { fallback?: ReactNode; children: ReactNode }) => JSX.Element;
59
58
  useOidc: IsAuthRequiredOnEveryPages extends true
60
59
  ? {
61
60
  (params?: { assertUserLoggedIn: true }): OidcReact.LoggedIn<DecodedIdToken>;
@@ -84,9 +83,7 @@ export function createOidcReactApi_dependencyInjection<
84
83
  createOidc: (params: ParamsOfCreateOidc) => PromiseOrNot<Oidc<DecodedIdToken>>
85
84
  ): OidcReactApi<
86
85
  DecodedIdToken,
87
- ParamsOfCreateOidc extends { isAuthRequiredOnEveryPages: boolean }
88
- ? ParamsOfCreateOidc["isAuthRequiredOnEveryPages"]
89
- : false
86
+ ParamsOfCreateOidc extends { isAuthRequiredOnEveryPages?: true | undefined } ? true : false
90
87
  > {
91
88
  const prOidc = Promise.resolve(createOidc(params)).catch(error => {
92
89
  if (!(error instanceof OidcInitializationError)) {