oidc-spa 10.3.0-rc.3 → 11.0.0-rc.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.
Files changed (214) hide show
  1. package/README.md +0 -24
  2. package/core/Oidc.d.ts +12 -22
  3. package/core/createGetUser.d.ts +3 -1
  4. package/core/createGetUser.js +21 -11
  5. package/core/createGetUser.js.map +1 -1
  6. package/core/createMockOidc.d.ts +15 -8
  7. package/core/createMockOidc.js +33 -23
  8. package/core/createMockOidc.js.map +1 -1
  9. package/core/createOidc.d.ts +9 -12
  10. package/core/createOidc.js +11 -8
  11. package/core/createOidc.js.map +1 -1
  12. package/core/index.d.ts +2 -0
  13. package/core/oidcClientTsUserToTokens.d.ts +2 -6
  14. package/core/oidcClientTsUserToTokens.js +10 -35
  15. package/core/oidcClientTsUserToTokens.js.map +1 -1
  16. package/esm/angular/createOidcSpaUtils.d.ts +7 -0
  17. package/esm/angular/createOidcSpaUtils.mjs +494 -0
  18. package/esm/angular/createOidcSpaUtils.mjs.map +1 -0
  19. package/esm/angular/index.d.ts +3 -0
  20. package/esm/angular/index.mjs +2 -0
  21. package/esm/angular/index.mjs.map +1 -0
  22. package/esm/angular/types.d.ts +354 -0
  23. package/esm/angular/types.mjs +7 -0
  24. package/esm/angular/types.mjs.map +1 -0
  25. package/esm/angular/utilsBuilder.d.ts +11 -0
  26. package/esm/angular/utilsBuilder.mjs +36 -0
  27. package/esm/angular/utilsBuilder.mjs.map +1 -0
  28. package/esm/core/Oidc.d.ts +12 -22
  29. package/esm/core/createGetUser.d.ts +3 -1
  30. package/esm/core/createGetUser.mjs +21 -11
  31. package/esm/core/createGetUser.mjs.map +1 -1
  32. package/esm/core/createMockOidc.d.ts +15 -8
  33. package/esm/core/createMockOidc.mjs +32 -23
  34. package/esm/core/createMockOidc.mjs.map +1 -1
  35. package/esm/core/createOidc.d.ts +9 -12
  36. package/esm/core/createOidc.mjs +11 -8
  37. package/esm/core/createOidc.mjs.map +1 -1
  38. package/esm/core/index.d.ts +2 -0
  39. package/esm/core/oidcClientTsUserToTokens.d.ts +2 -6
  40. package/esm/core/oidcClientTsUserToTokens.mjs +10 -35
  41. package/esm/core/oidcClientTsUserToTokens.mjs.map +1 -1
  42. package/esm/keycloak/index.d.ts +2 -1
  43. package/esm/keycloak/index.mjs.map +1 -1
  44. package/esm/keycloak/keycloak-js/Keycloak.mjs +10 -10
  45. package/esm/keycloak/keycloak-js/Keycloak.mjs.map +1 -1
  46. package/esm/keycloak/keycloak-js/keycloak-authz.mjs +2 -2
  47. package/esm/keycloak/keycloak-js/keycloak-authz.mjs.map +1 -1
  48. package/esm/keycloak/keycloakUtils.d.ts +2 -5
  49. package/esm/keycloak/keycloakUtils.mjs.map +1 -1
  50. package/esm/react-nextjs/adaptOidcSpaUtils.d.ts +3 -0
  51. package/esm/react-nextjs/adaptOidcSpaUtils.mjs +43 -0
  52. package/esm/react-nextjs/adaptOidcSpaUtils.mjs.map +1 -0
  53. package/esm/react-nextjs/index.d.ts +12 -0
  54. package/esm/react-nextjs/index.mjs +20 -0
  55. package/esm/react-nextjs/index.mjs.map +1 -0
  56. package/esm/react-nextjs/types.d.ts +3 -0
  57. package/esm/react-nextjs/types.mjs +2 -0
  58. package/esm/react-nextjs/types.mjs.map +1 -0
  59. package/esm/react-spa/createOidcSpaUtils.d.ts +2 -6
  60. package/esm/react-spa/createOidcSpaUtils.mjs +17 -84
  61. package/esm/react-spa/createOidcSpaUtils.mjs.map +1 -1
  62. package/esm/react-spa/index.d.ts +1 -1
  63. package/esm/react-spa/types.d.ts +37 -40
  64. package/esm/react-spa/types.mjs +4 -0
  65. package/esm/react-spa/types.mjs.map +1 -1
  66. package/esm/react-spa/utilsBuilder.d.ts +5 -11
  67. package/esm/react-spa/utilsBuilder.mjs +0 -17
  68. package/esm/react-spa/utilsBuilder.mjs.map +1 -1
  69. package/esm/server/createUtils.d.ts +5 -0
  70. package/esm/server/createUtils.mjs +762 -0
  71. package/esm/server/createUtils.mjs.map +1 -0
  72. package/esm/server/extractRequestAuthContext.d.ts +3 -2
  73. package/esm/server/extractRequestAuthContext.mjs +1 -1
  74. package/esm/server/extractRequestAuthContext.mjs.map +1 -1
  75. package/esm/server/index.d.ts +2 -2
  76. package/esm/server/index.mjs +1 -2
  77. package/esm/server/index.mjs.map +1 -1
  78. package/esm/server/oidcSpa.d.ts +8 -0
  79. package/esm/server/oidcSpa.mjs +13 -0
  80. package/esm/server/oidcSpa.mjs.map +1 -0
  81. package/esm/server/tools/fetchIntrospectionEndpoint.d.ts +3 -0
  82. package/esm/server/tools/fetchIntrospectionEndpoint.mjs +39 -0
  83. package/esm/server/tools/fetchIntrospectionEndpoint.mjs.map +1 -0
  84. package/esm/server/tools/fetchPublicSigningKeys.d.ts +8 -0
  85. package/esm/server/tools/fetchPublicSigningKeys.mjs +94 -0
  86. package/esm/server/tools/fetchPublicSigningKeys.mjs.map +1 -0
  87. package/esm/server/types.d.ts +50 -47
  88. package/esm/tanstack-start/react/createOidcSpaUtils.d.ts +5 -10
  89. package/esm/tanstack-start/react/createOidcSpaUtils.mjs +279 -257
  90. package/esm/tanstack-start/react/createOidcSpaUtils.mjs.map +1 -1
  91. package/esm/tanstack-start/react/index.d.ts +1 -1
  92. package/esm/tanstack-start/react/index.mjs +1 -2
  93. package/esm/tanstack-start/react/index.mjs.map +1 -1
  94. package/esm/tanstack-start/react/oidcSpa.d.ts +49 -0
  95. package/esm/tanstack-start/react/oidcSpa.mjs +36 -0
  96. package/esm/tanstack-start/react/oidcSpa.mjs.map +1 -0
  97. package/esm/tanstack-start/react/types.d.ts +262 -268
  98. package/esm/tanstack-start/react/types.mjs +2 -3
  99. package/esm/tanstack-start/react/types.mjs.map +1 -1
  100. package/esm/tools/OidcUserInfo.d.ts +30 -0
  101. package/esm/tools/OidcUserInfo.mjs +2 -0
  102. package/esm/tools/OidcUserInfo.mjs.map +1 -0
  103. package/esm/tools/areDeepEqual.d.ts +1 -0
  104. package/esm/tools/areDeepEqual.mjs +44 -0
  105. package/esm/tools/areDeepEqual.mjs.map +1 -0
  106. package/esm/vite-plugin/manageOptimizedDeps.mjs +2 -1
  107. package/esm/vite-plugin/manageOptimizedDeps.mjs.map +1 -1
  108. package/esm/vite-plugin/projectType.mjs +2 -2
  109. package/esm/vite-plugin/projectType.mjs.map +1 -1
  110. package/keycloak/index.d.ts +2 -1
  111. package/keycloak/index.js.map +1 -1
  112. package/keycloak/keycloak-js/Keycloak.js +10 -10
  113. package/keycloak/keycloak-js/Keycloak.js.map +1 -1
  114. package/keycloak/keycloak-js/keycloak-authz.js +2 -2
  115. package/keycloak/keycloak-js/keycloak-authz.js.map +1 -1
  116. package/keycloak/keycloakUtils.d.ts +2 -5
  117. package/keycloak/keycloakUtils.js.map +1 -1
  118. package/package.json +15 -5
  119. package/react-spa/createOidcSpaUtils.d.ts +2 -6
  120. package/react-spa/createOidcSpaUtils.js +16 -83
  121. package/react-spa/createOidcSpaUtils.js.map +1 -1
  122. package/react-spa/index.d.ts +1 -1
  123. package/react-spa/types.d.ts +37 -40
  124. package/react-spa/types.js +5 -0
  125. package/react-spa/types.js.map +1 -1
  126. package/react-spa/utilsBuilder.d.ts +5 -11
  127. package/react-spa/utilsBuilder.js +0 -17
  128. package/react-spa/utilsBuilder.js.map +1 -1
  129. package/server/createUtils.d.ts +5 -0
  130. package/server/createUtils.js +765 -0
  131. package/server/createUtils.js.map +1 -0
  132. package/server/extractRequestAuthContext.d.ts +3 -2
  133. package/server/extractRequestAuthContext.js +1 -1
  134. package/server/extractRequestAuthContext.js.map +1 -1
  135. package/server/index.d.ts +2 -2
  136. package/server/index.js +3 -3
  137. package/server/index.js.map +1 -1
  138. package/server/oidcSpa.d.ts +8 -0
  139. package/server/oidcSpa.js +16 -0
  140. package/server/oidcSpa.js.map +1 -0
  141. package/server/tools/fetchIntrospectionEndpoint.d.ts +3 -0
  142. package/server/tools/fetchIntrospectionEndpoint.js +42 -0
  143. package/server/tools/fetchIntrospectionEndpoint.js.map +1 -0
  144. package/server/tools/fetchPublicSigningKeys.d.ts +8 -0
  145. package/server/tools/fetchPublicSigningKeys.js +97 -0
  146. package/server/tools/fetchPublicSigningKeys.js.map +1 -0
  147. package/server/types.d.ts +50 -47
  148. package/src/angular/createOidcSpaUtils.ts +633 -0
  149. package/src/angular/index.ts +3 -0
  150. package/src/angular/types.ts +406 -0
  151. package/src/angular/utilsBuilder.ts +68 -0
  152. package/src/core/Oidc.ts +12 -30
  153. package/src/core/createGetUser.ts +38 -19
  154. package/src/core/createMockOidc.ts +62 -52
  155. package/src/core/createOidc.ts +26 -43
  156. package/src/core/index.ts +3 -0
  157. package/src/core/oidcClientTsUserToTokens.ts +21 -68
  158. package/src/keycloak/index.ts +2 -6
  159. package/src/keycloak/keycloak-js/Keycloak.ts +10 -10
  160. package/src/keycloak/keycloak-js/keycloak-authz.ts +2 -2
  161. package/src/keycloak/keycloakUtils.ts +2 -6
  162. package/src/react-nextjs/adaptOidcSpaUtils.tsx +64 -0
  163. package/src/react-nextjs/index.ts +53 -0
  164. package/src/react-nextjs/types.ts +4 -0
  165. package/src/react-spa/createOidcSpaUtils.ts +39 -148
  166. package/src/react-spa/types.ts +55 -49
  167. package/src/react-spa/utilsBuilder.ts +12 -73
  168. package/src/server/createUtils.ts +1015 -0
  169. package/src/server/extractRequestAuthContext.ts +6 -5
  170. package/src/server/index.ts +2 -4
  171. package/src/server/oidcSpa.ts +34 -0
  172. package/src/server/tools/fetchIntrospectionEndpoint.ts +57 -0
  173. package/src/server/tools/fetchPublicSigningKeys.ts +148 -0
  174. package/src/server/types.ts +68 -64
  175. package/src/tanstack-start/react/createOidcSpaUtils.ts +396 -394
  176. package/src/tanstack-start/react/index.ts +1 -3
  177. package/src/tanstack-start/react/oidcSpa.ts +68 -0
  178. package/src/tanstack-start/react/types.ts +290 -302
  179. package/src/tools/OidcUserInfo.ts +40 -0
  180. package/src/tools/areDeepEqual.ts +59 -0
  181. package/src/vite-plugin/manageOptimizedDeps.ts +2 -1
  182. package/src/vite-plugin/projectType.ts +2 -2
  183. package/tools/OidcUserInfo.d.ts +30 -0
  184. package/tools/OidcUserInfo.js +3 -0
  185. package/tools/OidcUserInfo.js.map +1 -0
  186. package/tools/areDeepEqual.d.ts +1 -0
  187. package/tools/areDeepEqual.js +47 -0
  188. package/tools/areDeepEqual.js.map +1 -0
  189. package/esm/angular.d.ts +0 -237
  190. package/esm/angular.mjs +0 -525
  191. package/esm/angular.mjs.map +0 -1
  192. package/esm/server/createOidcSpaUtils.d.ts +0 -5
  193. package/esm/server/createOidcSpaUtils.mjs +0 -641
  194. package/esm/server/createOidcSpaUtils.mjs.map +0 -1
  195. package/esm/server/utilsBuilder.d.ts +0 -10
  196. package/esm/server/utilsBuilder.mjs +0 -13
  197. package/esm/server/utilsBuilder.mjs.map +0 -1
  198. package/esm/tanstack-start/react/accessTokenValidation_rfc9068.d.ts +0 -15
  199. package/esm/tanstack-start/react/accessTokenValidation_rfc9068.mjs +0 -123
  200. package/esm/tanstack-start/react/accessTokenValidation_rfc9068.mjs.map +0 -1
  201. package/esm/tanstack-start/react/utilsBuilder.d.ts +0 -34
  202. package/esm/tanstack-start/react/utilsBuilder.mjs +0 -76
  203. package/esm/tanstack-start/react/utilsBuilder.mjs.map +0 -1
  204. package/server/createOidcSpaUtils.d.ts +0 -5
  205. package/server/createOidcSpaUtils.js +0 -644
  206. package/server/createOidcSpaUtils.js.map +0 -1
  207. package/server/utilsBuilder.d.ts +0 -10
  208. package/server/utilsBuilder.js +0 -16
  209. package/server/utilsBuilder.js.map +0 -1
  210. package/src/angular.ts +0 -913
  211. package/src/server/createOidcSpaUtils.ts +0 -863
  212. package/src/server/utilsBuilder.ts +0 -41
  213. package/src/tanstack-start/react/accessTokenValidation_rfc9068.ts +0 -178
  214. package/src/tanstack-start/react/utilsBuilder.ts +0 -188
package/README.md CHANGED
@@ -158,27 +158,3 @@ Project backers, we trust and recommend their services.
158
158
  <p align="center">
159
159
  <i><a href="https://phasetwo.io/?utm_source=keycloakify"><strong>Keycloak as a Service</strong></a> — Keycloak community contributors of popular <a href="https://github.com/p2-inc#our-extensions-?utm_source=keycloakify">extensions</a> providing free and dedicated <a href="https://phasetwo.io/hosting/?utm_source=keycloakify">Keycloak hosting</a> and enterprise <a href="https://phasetwo.io/support/?utm_source=keycloakify">Keycloak support</a> to businesses of all sizes.</i>
160
160
  </p>
161
-
162
- <br/>
163
- <br/>
164
- <br/>
165
-
166
- <div align="center">
167
-
168
- ![Logo Dark](https://github.com/user-attachments/assets/dd3925fb-a58a-4e91-b360-69c2fa1f1087#gh-dark-mode-only)
169
-
170
- </div>
171
-
172
- <div align="center">
173
-
174
- ![Logo Light](https://github.com/user-attachments/assets/6c00c201-eed7-485a-a887-70891559d69b#gh-light-mode-only)
175
-
176
- </div>
177
-
178
- <br/>
179
-
180
- <p align="center">
181
- <a href="https://www.zone2.tech/services/keycloak-consulting">
182
- <i><strong>Keycloak Consulting Services</strong> — Your partner in Keycloak deployment, configuration, and extension development for optimized identity management solutions.</i>
183
- </a>
184
- </p>
package/core/Oidc.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { OidcInitializationError } from "./OidcInitializationError";
2
- export declare type Oidc<DecodedIdToken extends Record<string, unknown> = Oidc.Tokens.DecodedIdToken_OidcCoreSpec, User = never> = Oidc.LoggedIn<DecodedIdToken, User> | Oidc.NotLoggedIn;
2
+ export declare type Oidc<User = never> = Oidc.LoggedIn<User> | Oidc.NotLoggedIn;
3
3
  export declare namespace Oidc {
4
4
  type Common = {
5
5
  issuerUri: string;
@@ -25,20 +25,21 @@ export declare namespace Oidc {
25
25
  * Transform the url before redirecting to the login pages.
26
26
  * Prefer using the extraQueryParams parameter if you're only adding query parameters.
27
27
  */
28
- transformUrlBeforeRedirect?: (url: string) => string;
28
+ transformUrlBeforeRedirect?: (authorizationUrl: string) => string;
29
29
  }) => Promise<never>;
30
30
  initializationError: OidcInitializationError | undefined;
31
31
  };
32
- type LoggedIn<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, User = never> = Common & {
32
+ type LoggedIn<User = never> = Common & {
33
33
  isUserLoggedIn: true;
34
34
  renewTokens(params?: {
35
35
  extraTokenParams?: Record<string, string | undefined>;
36
36
  }): Promise<void>;
37
- getTokens: () => Promise<Tokens<DecodedIdToken>>;
38
- subscribeToTokensChange: (onTokenChange: (tokens: Tokens<DecodedIdToken>) => void) => {
37
+ subscribeToTokensChange: (onTokenChange: (tokens: Tokens) => void) => {
39
38
  unsubscribeFromTokensChange: () => void;
40
39
  };
41
- getDecodedIdToken: () => DecodedIdToken;
40
+ getTokens: () => Promise<Tokens>;
41
+ getDecodedIdToken: () => Tokens.DecodedIdToken;
42
+ getAccessToken: () => Promise<string>;
42
43
  logout: (params: {
43
44
  redirectTo: "home" | "current page";
44
45
  } | {
@@ -92,41 +93,30 @@ export declare namespace Oidc {
92
93
  refreshUser: () => Promise<User>;
93
94
  }>;
94
95
  };
95
- type Tokens<DecodedIdToken extends Record<string, unknown> = Tokens.DecodedIdToken_OidcCoreSpec> = Tokens.WithRefreshToken<DecodedIdToken> | Tokens.WithoutRefreshToken<DecodedIdToken>;
96
+ type Tokens = Tokens.WithRefreshToken | Tokens.WithoutRefreshToken;
96
97
  namespace Tokens {
97
- type Common<DecodedIdToken> = {
98
+ type Common = {
98
99
  accessToken: string;
99
100
  /** Millisecond epoch in the server's time */
100
101
  accessTokenExpirationTime: number;
101
102
  idToken: string;
102
103
  decodedIdToken: DecodedIdToken;
103
- /**
104
- * decodedIdToken_original = decodeJwt(idToken);
105
- * decodedIdToken = decodedIdTokenSchema.parse(decodedIdToken_original)
106
- *
107
- * The idea here is that if you have provided a zod schema as `decodedIdTokenSchema`
108
- * it will strip out every claim that you haven't specified.
109
- * You might even be applying some transformation.
110
- *
111
- * `decodedIdToken_original` is the actual decoded payload of the id_token, untransformed.
112
- * */
113
- decodedIdToken_original: DecodedIdToken_OidcCoreSpec;
114
104
  /** Millisecond epoch in the server's time, read from id_token's JWT, iat claim value */
115
105
  issuedAtTime: number;
116
106
  /** To use instead of Date.now() if you ever need to tell if a token is expired or not */
117
107
  getServerDateNow: () => number;
118
108
  };
119
- type WithRefreshToken<DecodedIdToken> = Common<DecodedIdToken> & {
109
+ type WithRefreshToken = Common & {
120
110
  hasRefreshToken: true;
121
111
  refreshToken: string;
122
112
  refreshTokenExpirationTime: number | undefined;
123
113
  };
124
- type WithoutRefreshToken<DecodedIdToken> = Common<DecodedIdToken> & {
114
+ type WithoutRefreshToken = Common & {
125
115
  hasRefreshToken: false;
126
116
  refreshToken?: never;
127
117
  refreshTokenExpirationTime?: never;
128
118
  };
129
- type DecodedIdToken_OidcCoreSpec = {
119
+ type DecodedIdToken = {
130
120
  iss: string;
131
121
  sub: string;
132
122
  aud: string | string[];
@@ -3,8 +3,10 @@ import type { NonPostableEvt } from "../tools/Evt";
3
3
  import type { ParamsOfCreateOidc } from "./createOidc";
4
4
  export declare function createGetUser<User>(params: {
5
5
  issuerUri: string;
6
+ clientId: string;
7
+ validRedirectUri: string;
6
8
  createUser: ParamsOfCreateOidc.CreateUser<User> | undefined;
7
- getCurrentTokens: () => Oidc.Tokens<any>;
9
+ getCurrentTokens: () => Oidc.Tokens;
8
10
  evtTokensChange: NonPostableEvt<void>;
9
11
  renewTokens(): Promise<void>;
10
12
  oidcMetadata: {
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createGetUser = createGetUser;
4
4
  const id_1 = require("../tools/tsafe/id");
5
5
  const assert_1 = require("../tools/tsafe/assert");
6
+ const areDeepEqual_1 = require("../tools/areDeepEqual");
6
7
  const decodeJwt_1 = require("../tools/decodeJwt");
7
8
  function createGetUser(params) {
8
- const { issuerUri, createUser, getCurrentTokens, evtTokensChange, renewTokens, oidcMetadata } = params;
9
+ const { issuerUri, clientId, validRedirectUri, createUser, getCurrentTokens, evtTokensChange, renewTokens, oidcMetadata } = params;
9
10
  async function fetchUserInfo(params) {
10
11
  const { accessToken } = params;
11
12
  const { userinfo_endpoint } = oidcMetadata;
@@ -36,7 +37,7 @@ function createGetUser(params) {
36
37
  const tokens = getCurrentTokens();
37
38
  const hash_new = computeHash({
38
39
  accessToken: tokens.accessToken,
39
- decodedIdToken: tokens.decodedIdToken_original
40
+ decodedIdToken: tokens.decodedIdToken
40
41
  });
41
42
  const prUser_new = (async () => {
42
43
  const prUser_current = state?.prUser;
@@ -49,8 +50,10 @@ function createGetUser(params) {
49
50
  try {
50
51
  user_new = await createUser({
51
52
  accessToken: tokens.accessToken,
52
- decodedIdToken: tokens.decodedIdToken_original,
53
+ decodedIdToken: tokens.decodedIdToken,
53
54
  issuerUri,
55
+ clientId,
56
+ validRedirectUri,
54
57
  fetchUserInfo: () => fetchUserInfo({ accessToken: tokens.accessToken }),
55
58
  user_current
56
59
  });
@@ -68,6 +71,9 @@ function createGetUser(params) {
68
71
  // higher level adapters.
69
72
  throw error;
70
73
  }
74
+ if (user_current !== undefined && (0, areDeepEqual_1.areDeepEqual)(user_new, user_current)) {
75
+ return user_current;
76
+ }
71
77
  onUserChanges.forEach(onUserChange => onUserChange({
72
78
  user: user_new,
73
79
  user_previous: user_current
@@ -123,15 +129,19 @@ function createGetUser(params) {
123
129
  };
124
130
  setTimer();
125
131
  }
126
- const user = await state.prUser;
127
- if (timer_cycleDetection !== undefined) {
128
- clearTimeout(timer_cycleDetection);
132
+ try {
133
+ const user = await state.prUser;
134
+ return (0, id_1.id)({
135
+ user,
136
+ refreshUser,
137
+ subscribeToUserChange
138
+ });
139
+ }
140
+ finally {
141
+ if (timer_cycleDetection !== undefined) {
142
+ clearTimeout(timer_cycleDetection);
143
+ }
129
144
  }
130
- return (0, id_1.id)({
131
- user,
132
- refreshUser,
133
- subscribeToUserChange
134
- });
135
145
  };
136
146
  return { getUser };
137
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createGetUser.js","sourceRoot":"","sources":["../src/core/createGetUser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createGetUser.js","sourceRoot":"","sources":["../src/core/createGetUser.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import type { Oidc } from "../core";
2
- export type ParamsOfCreateMockOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, AutoLogin extends boolean = false, User = never> = {
3
- mockedParams?: {
4
- issuerUri?: string;
5
- clientId?: string;
6
- };
7
- mockedTokens?: Partial<Oidc.Tokens<DecodedIdToken>>;
8
- mockedUser?: User;
2
+ export type ParamsOfCreateMockOidc<User, AutoLogin extends boolean> = {
3
+ user_mock?: User;
4
+ issuerUri_mock?: string;
5
+ clientId_mock?: string;
6
+ decodedIdToken_mock?: Oidc.Tokens.DecodedIdToken;
7
+ idToken_mock?: string;
8
+ accessToken_mock?: string;
9
+ accessTokenExpirationTime_mock?: number;
10
+ refreshToken_mock?: string;
11
+ refreshTokenExpirationTime_mock?: number;
9
12
  /**
10
13
  * The URL of the home page of your app.
11
14
  * We need to know this so we know where to redirect when you call `logout({ redirectTo: "home"})`.
@@ -20,4 +23,8 @@ export type ParamsOfCreateMockOidc<DecodedIdToken extends Record<string, unknown
20
23
  } : {
21
24
  isUserInitiallyLoggedIn: boolean;
22
25
  });
23
- export declare function createMockOidc<DecodedIdToken extends Record<string, unknown> = Oidc.Tokens.DecodedIdToken_OidcCoreSpec, AutoLogin extends boolean = false, User = never>(params: ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin, User>): Promise<AutoLogin extends true ? Oidc.LoggedIn<DecodedIdToken, User> : Oidc<DecodedIdToken, User>>;
26
+ export declare const ClIENT_ID_MOCK_DEFAULT = "myclientmock";
27
+ export declare const ISSUER_URI_MOCK_DEFAULT = "https://auth.mycompany.com/realms/mymockrealm";
28
+ export declare const ACCESS_TOKEN_MOCK_DEFAULT = "mocked-access-token";
29
+ export declare const ID_TOKEN_MOCK_DEFAULT = "mocked-id-token";
30
+ export declare function createMockOidc<User = never, AutoLogin extends boolean = false>(params: ParamsOfCreateMockOidc<User, AutoLogin>): Promise<AutoLogin extends true ? Oidc.LoggedIn<User> : Oidc<User>>;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ID_TOKEN_MOCK_DEFAULT = exports.ACCESS_TOKEN_MOCK_DEFAULT = exports.ISSUER_URI_MOCK_DEFAULT = exports.ClIENT_ID_MOCK_DEFAULT = void 0;
3
4
  exports.createMockOidc = createMockOidc;
4
5
  const createObjectThatThrowsIfAccessed_1 = require("../tools/createObjectThatThrowsIfAccessed");
5
6
  const id_1 = require("../tools/tsafe/id");
@@ -7,11 +8,16 @@ const toFullyQualifiedUrl_1 = require("../tools/toFullyQualifiedUrl");
7
8
  const urlSearchParams_1 = require("../tools/urlSearchParams");
8
9
  const earlyInit_rootRelativeOriginalLocationHref_1 = require("../core/earlyInit_rootRelativeOriginalLocationHref");
9
10
  const INFINITY_TIME_1 = require("../tools/INFINITY_TIME");
10
- const earlyInit_BASE_URL_1 = require("../core/earlyInit_BASE_URL");
11
+ const earlyInit_BASE_URL_1 = require("./earlyInit_BASE_URL");
12
+ const decodeJwt_1 = require("../tools/decodeJwt");
11
13
  const URL_SEARCH_PARAM_NAME = "isUserLoggedIn";
12
14
  const locationHref_moduleEvalTime = location.href;
15
+ exports.ClIENT_ID_MOCK_DEFAULT = "myclientmock";
16
+ exports.ISSUER_URI_MOCK_DEFAULT = "https://auth.mycompany.com/realms/mymockrealm";
17
+ exports.ACCESS_TOKEN_MOCK_DEFAULT = "mocked-access-token";
18
+ exports.ID_TOKEN_MOCK_DEFAULT = "mocked-id-token";
13
19
  async function createMockOidc(params) {
14
- const { isUserInitiallyLoggedIn = true, mockedParams = {}, mockedTokens = {}, autoLogin = false, postLoginRedirectUrl, mockedUser } = params;
20
+ const { user_mock, isUserInitiallyLoggedIn = true, issuerUri_mock, clientId_mock, decodedIdToken_mock, idToken_mock, accessToken_mock, accessTokenExpirationTime_mock, refreshToken_mock, refreshTokenExpirationTime_mock, autoLogin = false, postLoginRedirectUrl } = params;
15
21
  const BASE_URL_params = params.BASE_URL;
16
22
  const isUserLoggedIn = (() => {
17
23
  const { wasPresent, value } = (0, urlSearchParams_1.getSearchParam)({
@@ -49,8 +55,8 @@ async function createMockOidc(params) {
49
55
  doOutputWithTrailingSlash: true
50
56
  });
51
57
  const common = {
52
- clientId: mockedParams.clientId ?? "mymockclient",
53
- issuerUri: mockedParams.issuerUri ?? "https://my-mock-oidc-server.net/realms/mymockrealm",
58
+ clientId: clientId_mock ?? exports.ClIENT_ID_MOCK_DEFAULT,
59
+ issuerUri: issuerUri_mock ?? exports.ISSUER_URI_MOCK_DEFAULT,
54
60
  validRedirectUri: homeUrl
55
61
  };
56
62
  const loginOrGoToAuthServer = async (params) => {
@@ -95,32 +101,35 @@ async function createMockOidc(params) {
95
101
  renewTokens: async () => { },
96
102
  ...(() => {
97
103
  const tokens_common = {
98
- accessToken: mockedTokens.accessToken ?? "mocked-access-token",
99
- accessTokenExpirationTime: mockedTokens.accessTokenExpirationTime ?? INFINITY_TIME_1.INFINITY_TIME,
100
- idToken: mockedTokens.idToken ?? "mocked-id-token",
101
- decodedIdToken: mockedTokens.decodedIdToken ??
102
- (0, createObjectThatThrowsIfAccessed_1.createObjectThatThrowsIfAccessed)({
104
+ accessToken: accessToken_mock ?? exports.ACCESS_TOKEN_MOCK_DEFAULT,
105
+ accessTokenExpirationTime: accessTokenExpirationTime_mock ?? INFINITY_TIME_1.INFINITY_TIME,
106
+ idToken: idToken_mock ?? exports.ID_TOKEN_MOCK_DEFAULT,
107
+ decodedIdToken: (() => {
108
+ if (decodedIdToken_mock !== undefined) {
109
+ return decodedIdToken_mock;
110
+ }
111
+ if (idToken_mock !== undefined) {
112
+ try {
113
+ return (0, decodeJwt_1.decodeJwt)(idToken_mock);
114
+ }
115
+ catch { }
116
+ }
117
+ return (0, createObjectThatThrowsIfAccessed_1.createObjectThatThrowsIfAccessed)({
103
118
  debugMessage: [
104
119
  "You haven't provided a mocked decodedIdToken",
105
120
  "See https://docs.oidc-spa.dev/v/v10/integration-guides/usage#mock-adapter"
106
121
  ].join("\n")
107
- }),
108
- decodedIdToken_original: mockedTokens.decodedIdToken_original ??
109
- (0, createObjectThatThrowsIfAccessed_1.createObjectThatThrowsIfAccessed)({
110
- debugMessage: [
111
- "You haven't provided a mocked decodedIdToken_original",
112
- "See https://docs.oidc-spa.dev/v/v10/integration-guides/usage#mock-adapter"
113
- ].join("\n")
114
- }),
122
+ });
123
+ })(),
115
124
  issuedAtTime: Date.now(),
116
125
  getServerDateNow: () => Date.now()
117
126
  };
118
- const tokens = mockedTokens.refreshToken !== undefined || mockedTokens.hasRefreshToken === true
127
+ const tokens = refreshToken_mock !== undefined
119
128
  ? (0, id_1.id)({
120
129
  ...tokens_common,
121
130
  hasRefreshToken: true,
122
- refreshToken: mockedTokens.refreshToken ?? "mocked-refresh-token",
123
- refreshTokenExpirationTime: mockedTokens.refreshTokenExpirationTime
131
+ refreshToken: refreshToken_mock,
132
+ refreshTokenExpirationTime: refreshTokenExpirationTime_mock ?? INFINITY_TIME_1.INFINITY_TIME
124
133
  })
125
134
  : (0, id_1.id)({
126
135
  ...tokens_common,
@@ -128,6 +137,7 @@ async function createMockOidc(params) {
128
137
  });
129
138
  return {
130
139
  getTokens: () => Promise.resolve(tokens),
140
+ getAccessToken: () => Promise.resolve(tokens.accessToken),
131
141
  getDecodedIdToken: () => tokens_common.decodedIdToken
132
142
  };
133
143
  })(),
@@ -167,15 +177,15 @@ async function createMockOidc(params) {
167
177
  isNewBrowserSession: false,
168
178
  backFromAuthServer: undefined,
169
179
  getUser: () => {
170
- if (mockedUser === undefined) {
180
+ if (user_mock === undefined) {
171
181
  throw new Error("oidc-spa: No mock user provided");
172
182
  }
173
183
  return Promise.resolve({
174
- refreshUser: () => Promise.resolve(mockedUser),
184
+ refreshUser: () => Promise.resolve(user_mock),
175
185
  subscribeToUserChange: () => {
176
186
  return { unsubscribeFromUserChange: () => { } };
177
187
  },
178
- user: mockedUser
188
+ user: user_mock
179
189
  });
180
190
  }
181
191
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createMockOidc.js","sourceRoot":"","sources":["../src/core/createMockOidc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createMockOidc.js","sourceRoot":"","sources":["../src/core/createMockOidc.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@ import type { Oidc } from "./Oidc";
4
4
  import type { Evt } from "../tools/Evt";
5
5
  import type { ParamsOfCreateGetServerDateNow } from "../tools/getServerDateNow";
6
6
  import type { MaybeAsync } from "../tools/MaybeAsync";
7
- export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> = Oidc.Tokens.DecodedIdToken_OidcCoreSpec, AutoLogin extends boolean = false, User = never> = {
7
+ import type { OidcUserInfo } from "../tools/OidcUserInfo";
8
+ export type ParamsOfCreateOidc<User, AutoLogin extends boolean> = {
8
9
  createUser?: ParamsOfCreateOidc.CreateUser<User>;
9
10
  /**
10
11
  * See: https://docs.oidc-spa.dev/v/v10/providers-configuration/provider-configuration
@@ -54,9 +55,6 @@ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> =
54
55
  * extraTokenParams: { selectedCustomer: "xxx" }
55
56
  */
56
57
  extraTokenParams?: Record<string, string | undefined> | (() => Record<string, string | undefined>);
57
- decodedIdTokenSchema?: {
58
- parse: (decodedIdToken_original: Oidc.Tokens.DecodedIdToken_OidcCoreSpec) => DecodedIdToken;
59
- };
60
58
  /**
61
59
  * This parameter defines after how many seconds of inactivity the user should be
62
60
  * logged out automatically.
@@ -189,13 +187,12 @@ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> =
189
187
  };
190
188
  export declare namespace ParamsOfCreateOidc {
191
189
  type CreateUser<User> = (params: {
192
- decodedIdToken: Oidc.Tokens.DecodedIdToken_OidcCoreSpec;
190
+ decodedIdToken: Oidc.Tokens.DecodedIdToken;
193
191
  accessToken: string;
194
- fetchUserInfo: () => Promise<{
195
- [key: string]: unknown;
196
- sub: string;
197
- }>;
192
+ fetchUserInfo: () => Promise<OidcUserInfo>;
198
193
  issuerUri: string;
194
+ clientId: string;
195
+ validRedirectUri: string;
199
196
  user_current: User | undefined;
200
197
  }) => MaybeAsync<User>;
201
198
  }
@@ -255,10 +252,10 @@ export declare namespace Exports_DPoP {
255
252
  }
256
253
  export declare function registerExports_DPoP(exports: Exports_DPoP): void;
257
254
  /** @see: https://docs.oidc-spa.dev/v/v10/usage */
258
- export declare function createOidc<DecodedIdToken extends Record<string, unknown> = Oidc.Tokens.DecodedIdToken_OidcCoreSpec, AutoLogin extends boolean = false, User = never>(params: ParamsOfCreateOidc<DecodedIdToken, AutoLogin, User>): Promise<AutoLogin extends true ? Oidc.LoggedIn<DecodedIdToken, User> : Oidc<DecodedIdToken, User>>;
259
- export declare function createOidc_nonMemoized<DecodedIdToken extends Record<string, unknown>, AutoLogin extends boolean, User>(params: Omit<ParamsOfCreateOidc<DecodedIdToken, AutoLogin, User>, "issuerUri" | "clientId" | "debugLogs">, preProcessedParams: {
255
+ export declare function createOidc<User = never, AutoLogin extends boolean = false>(params: ParamsOfCreateOidc<User, AutoLogin>): Promise<AutoLogin extends true ? Oidc.LoggedIn<User> : Oidc<User>>;
256
+ export declare function createOidc_nonMemoized<User, AutoLogin extends boolean>(params: Omit<ParamsOfCreateOidc<User, AutoLogin>, "issuerUri" | "clientId" | "debugLogs">, preProcessedParams: {
260
257
  issuerUri: string;
261
258
  clientId: string;
262
259
  configId: string;
263
260
  log: typeof console.log | undefined;
264
- }): Promise<AutoLogin extends true ? Oidc.LoggedIn<DecodedIdToken, User> : Oidc<DecodedIdToken, User>>;
261
+ }): Promise<AutoLogin extends true ? Oidc.LoggedIn<User> : Oidc<User>>;
@@ -77,7 +77,7 @@ const loadWebcryptoLinerShim_1 = require("../tools/loadWebcryptoLinerShim");
77
77
  const lazySessionStorage_2 = require("../tools/lazySessionStorage");
78
78
  const createGetUser_1 = require("./createGetUser");
79
79
  // NOTE: Replaced at build time
80
- const VERSION = "10.3.0-rc.3";
80
+ const VERSION = "11.0.0-rc.2";
81
81
  const globalContext = {
82
82
  prOidcByConfigId: new Map(),
83
83
  hasLogoutBeenCalled: (0, id_1.id)(false),
@@ -151,7 +151,7 @@ async function createOidc(params) {
151
151
  return oidc;
152
152
  }
153
153
  async function createOidc_nonMemoized(params, preProcessedParams) {
154
- const { transformUrlBeforeRedirect, extraQueryParams: extraQueryParamsOrGetter, extraTokenParams: extraTokenParamsOrGetter, decodedIdTokenSchema, idleSessionLifetimeInSeconds, autoLogoutParams = { redirectTo: "current page" }, autoLogin = false, postLoginRedirectUrl: postLoginRedirectUrl_default, __unsafe_clientSecret, __unsafe_useIdTokenAsAccessToken = false, __metadata, disableDPoP: disableDPoP_params = false, sessionRestorationMethod: sessionRestorationMethod_params, BASE_URL: BASE_URL_params, createUser } = params;
154
+ const { transformUrlBeforeRedirect, extraQueryParams: extraQueryParamsOrGetter, extraTokenParams: extraTokenParamsOrGetter, idleSessionLifetimeInSeconds, autoLogoutParams = { redirectTo: "current page" }, autoLogin = false, postLoginRedirectUrl: postLoginRedirectUrl_default, __unsafe_clientSecret, __unsafe_useIdTokenAsAccessToken = false, __metadata, disableDPoP: disableDPoP_params = false, sessionRestorationMethod: sessionRestorationMethod_params, BASE_URL: BASE_URL_params, createUser } = params;
155
155
  const exports_earlyInit = await (async () => {
156
156
  const timer = window.setTimeout(() => {
157
157
  console.warn([
@@ -882,15 +882,13 @@ async function createOidc_nonMemoized(params, preProcessedParams) {
882
882
  (0, assert_1.assert)(oidcMetadata !== undefined, "30483403");
883
883
  const { oidcClientTsUserToTokens } = (0, oidcClientTsUserToTokens_1.createOidcClientTsUserToTokens)({
884
884
  configId,
885
- decodedIdTokenSchema,
886
885
  __unsafe_useIdTokenAsAccessToken,
887
886
  exports_DPoP: shouldEnableDPoP ? exports_DPoP : undefined,
888
887
  exports_tokenSubstitution,
889
888
  log
890
889
  });
891
890
  let currentTokens = oidcClientTsUserToTokens({
892
- oidcClientTsUser: resultOfLoginProcess.oidcClientTsUser,
893
- decodedIdToken_previous: undefined
891
+ oidcClientTsUser: resultOfLoginProcess.oidcClientTsUser
894
892
  });
895
893
  const onTokenChanges = new Set();
896
894
  const renewTokens = (() => {
@@ -1037,8 +1035,7 @@ async function createOidc_nonMemoized(params, preProcessedParams) {
1037
1035
  break;
1038
1036
  }
1039
1037
  currentTokens = oidcClientTsUserToTokens({
1040
- oidcClientTsUser,
1041
- decodedIdToken_previous: currentTokens.decodedIdToken
1038
+ oidcClientTsUser
1042
1039
  });
1043
1040
  if ((0, persistedAuthState_1.getPersistedAuthState)({ configId }) !== undefined) {
1044
1041
  (0, persistedAuthState_1.persistAuthState)({
@@ -1113,6 +1110,8 @@ async function createOidc_nonMemoized(params, preProcessedParams) {
1113
1110
  })(),
1114
1111
  getCurrentTokens: () => currentTokens,
1115
1112
  issuerUri,
1113
+ clientId,
1114
+ validRedirectUri: homeUrlAndRedirectUri,
1116
1115
  oidcMetadata,
1117
1116
  renewTokens: () => renewTokens()
1118
1117
  });
@@ -1156,7 +1155,7 @@ async function createOidc_nonMemoized(params, preProcessedParams) {
1156
1155
  }
1157
1156
  }
1158
1157
  const autoLogoutCountdownTickCallbacks = new Set();
1159
- const { sid: sessionId, sub: subjectId } = currentTokens.decodedIdToken_original;
1158
+ const { sid: sessionId, sub: subjectId } = currentTokens.decodedIdToken;
1160
1159
  (0, assert_1.assert)(subjectId !== undefined, "The 'sub' claim is missing from the id token");
1161
1160
  (0, assert_1.assert)(sessionId === undefined || typeof sessionId === "string");
1162
1161
  let wouldHaveAutoLoggedOutIfBrowserWasOnline = false;
@@ -1194,6 +1193,10 @@ async function createOidc_nonMemoized(params, preProcessedParams) {
1194
1193
  return currentTokens;
1195
1194
  },
1196
1195
  getDecodedIdToken: () => currentTokens.decodedIdToken,
1196
+ getAccessToken: async () => {
1197
+ const { accessToken } = await oidc_loggedIn.getTokens();
1198
+ return accessToken;
1199
+ },
1197
1200
  logout: async (params) => {
1198
1201
  if (globalContext.hasLogoutBeenCalled) {
1199
1202
  log?.("logout() has already been called, ignoring the call");