oidc-spa 7.2.0-rc.1 → 7.2.0-rc.3

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 (285) hide show
  1. package/README.md +2 -2
  2. package/backend.js.map +1 -1
  3. package/core/AuthResponse.js.map +1 -1
  4. package/core/Oidc.js.map +1 -1
  5. package/core/OidcInitializationError.d.ts +0 -13
  6. package/core/OidcInitializationError.js +0 -243
  7. package/core/OidcInitializationError.js.map +1 -1
  8. package/core/OidcMetadata.js.map +1 -1
  9. package/core/StateData.js.map +1 -1
  10. package/core/configId.js.map +1 -1
  11. package/core/createOidc.js +38 -5
  12. package/core/createOidc.js.map +1 -1
  13. package/core/diagnostic.d.ts +14 -0
  14. package/core/diagnostic.js +214 -0
  15. package/core/diagnostic.js.map +1 -0
  16. package/core/evtIsUserActive.js.map +1 -1
  17. package/core/handleOidcCallback.js.map +1 -1
  18. package/core/iframeMessageProtection.js.map +1 -1
  19. package/core/index.js.map +1 -1
  20. package/core/initialLocationHref.js.map +1 -1
  21. package/core/isNewBrowserSession.js.map +1 -1
  22. package/core/loginOrGoToAuthServer.js.map +1 -1
  23. package/core/loginPropagationToOtherTabs.js.map +1 -1
  24. package/core/loginSilent.js.map +1 -1
  25. package/core/logoutPropagationToOtherTabs.js.map +1 -1
  26. package/core/oidcClientTsUserToTokens.js.map +1 -1
  27. package/core/ongoingLoginOrRefreshProcesses.js.map +1 -1
  28. package/core/persistedAuthState.js.map +1 -1
  29. package/entrypoint.js.map +1 -1
  30. package/esm/core/AuthResponse.d.ts +5 -0
  31. package/{src/core/AuthResponse.ts → esm/core/AuthResponse.js} +2 -10
  32. package/esm/core/AuthResponse.js.map +1 -0
  33. package/esm/core/Oidc.d.ts +126 -0
  34. package/esm/core/Oidc.js +2 -0
  35. package/esm/core/Oidc.js.map +1 -0
  36. package/esm/core/OidcInitializationError.d.ts +7 -0
  37. package/esm/core/OidcInitializationError.js +17 -0
  38. package/esm/core/OidcInitializationError.js.map +1 -0
  39. package/{src/core/OidcMetadata.ts → esm/core/OidcMetadata.d.ts} +0 -5
  40. package/esm/core/OidcMetadata.js +3 -0
  41. package/esm/core/OidcMetadata.js.map +1 -0
  42. package/esm/core/StateData.d.ts +42 -0
  43. package/esm/core/StateData.js +55 -0
  44. package/esm/core/StateData.js.map +1 -0
  45. package/esm/core/configId.d.ts +4 -0
  46. package/esm/core/configId.js +4 -0
  47. package/esm/core/configId.js.map +1 -0
  48. package/esm/core/createOidc.d.ts +132 -0
  49. package/{src/core/createOidc.ts → esm/core/createOidc.js} +269 -806
  50. package/esm/core/createOidc.js.map +1 -0
  51. package/esm/core/diagnostic.d.ts +14 -0
  52. package/{src/core/OidcInitializationError.ts → esm/core/diagnostic.js} +32 -109
  53. package/esm/core/diagnostic.js.map +1 -0
  54. package/esm/core/evtIsUserActive.d.ts +5 -0
  55. package/{src/core/evtIsUserActive.ts → esm/core/evtIsUserActive.js} +14 -46
  56. package/esm/core/evtIsUserActive.js.map +1 -0
  57. package/esm/core/handleOidcCallback.d.ts +13 -0
  58. package/{src/core/handleOidcCallback.ts → esm/core/handleOidcCallback.js} +25 -121
  59. package/esm/core/handleOidcCallback.js.map +1 -0
  60. package/esm/core/iframeMessageProtection.d.ts +20 -0
  61. package/{src/core/iframeMessageProtection.ts → esm/core/iframeMessageProtection.js} +10 -45
  62. package/esm/core/iframeMessageProtection.js.map +1 -0
  63. package/esm/core/index.js +4 -0
  64. package/esm/core/index.js.map +1 -0
  65. package/esm/core/initialLocationHref.d.ts +1 -0
  66. package/{src/core/initialLocationHref.ts → esm/core/initialLocationHref.js} +1 -1
  67. package/esm/core/initialLocationHref.js.map +1 -0
  68. package/esm/core/isNewBrowserSession.d.ts +9 -0
  69. package/{src/core/isNewBrowserSession.ts → esm/core/isNewBrowserSession.js} +3 -15
  70. package/esm/core/isNewBrowserSession.js.map +1 -0
  71. package/esm/core/loginOrGoToAuthServer.d.ts +40 -0
  72. package/{src/core/loginOrGoToAuthServer.ts → esm/core/loginOrGoToAuthServer.js} +60 -168
  73. package/esm/core/loginOrGoToAuthServer.js.map +1 -0
  74. package/esm/core/loginPropagationToOtherTabs.d.ts +8 -0
  75. package/{src/core/loginPropagationToOtherTabs.ts → esm/core/loginPropagationToOtherTabs.js} +7 -25
  76. package/esm/core/loginPropagationToOtherTabs.js.map +1 -0
  77. package/esm/core/loginSilent.d.ts +28 -0
  78. package/esm/core/loginSilent.js +125 -0
  79. package/esm/core/loginSilent.js.map +1 -0
  80. package/esm/core/logoutPropagationToOtherTabs.d.ts +10 -0
  81. package/{src/core/logoutPropagationToOtherTabs.ts → esm/core/logoutPropagationToOtherTabs.js} +8 -28
  82. package/esm/core/logoutPropagationToOtherTabs.js.map +1 -0
  83. package/esm/core/oidcClientTsUserToTokens.d.ts +11 -0
  84. package/esm/core/oidcClientTsUserToTokens.js +155 -0
  85. package/esm/core/oidcClientTsUserToTokens.js.map +1 -0
  86. package/esm/core/ongoingLoginOrRefreshProcesses.d.ts +6 -0
  87. package/{src/core/ongoingLoginOrRefreshProcesses.ts → esm/core/ongoingLoginOrRefreshProcesses.js} +6 -24
  88. package/esm/core/ongoingLoginOrRefreshProcesses.js.map +1 -0
  89. package/esm/core/persistedAuthState.d.ts +28 -0
  90. package/esm/core/persistedAuthState.js +64 -0
  91. package/esm/core/persistedAuthState.js.map +1 -0
  92. package/esm/entrypoint.d.ts +7 -0
  93. package/{src/entrypoint.ts → esm/entrypoint.js} +3 -26
  94. package/esm/entrypoint.js.map +1 -0
  95. package/esm/index.js +2 -0
  96. package/esm/index.js.map +1 -0
  97. package/esm/keycloak/index.d.ts +3 -0
  98. package/esm/keycloak/index.js +3 -0
  99. package/esm/keycloak/index.js.map +1 -0
  100. package/esm/keycloak/isKeycloak.d.ts +3 -0
  101. package/{src/keycloak/isKeycloak.ts → esm/keycloak/isKeycloak.js} +2 -8
  102. package/esm/keycloak/isKeycloak.js.map +1 -0
  103. package/esm/keycloak/keycloak-js/Keycloak.d.ts +284 -0
  104. package/{src/keycloak/keycloak-js/Keycloak.ts → esm/keycloak/keycloak-js/Keycloak.js} +116 -439
  105. package/esm/keycloak/keycloak-js/Keycloak.js.map +1 -0
  106. package/esm/keycloak/keycloak-js/index.js +2 -0
  107. package/esm/keycloak/keycloak-js/index.js.map +1 -0
  108. package/{src/keycloak/keycloak-js/types.ts → esm/keycloak/keycloak-js/types.d.ts} +3 -84
  109. package/esm/keycloak/keycloak-js/types.js +2 -0
  110. package/esm/keycloak/keycloak-js/types.js.map +1 -0
  111. package/esm/keycloak/keycloakIssuerUriParsed.d.ts +9 -0
  112. package/{src/keycloak/keycloakIssuerUriParsed.ts → esm/keycloak/keycloakIssuerUriParsed.js} +2 -15
  113. package/esm/keycloak/keycloakIssuerUriParsed.js.map +1 -0
  114. package/esm/keycloak/keycloakUtils.d.ts +37 -0
  115. package/esm/keycloak/keycloakUtils.js +44 -0
  116. package/esm/keycloak/keycloakUtils.js.map +1 -0
  117. package/esm/keycloak-js.js +2 -0
  118. package/esm/keycloak-js.js.map +1 -0
  119. package/esm/mock/index.js +2 -0
  120. package/esm/mock/index.js.map +1 -0
  121. package/esm/mock/oidc.d.ts +19 -0
  122. package/{src/mock/oidc.ts → esm/mock/oidc.js} +28 -88
  123. package/esm/mock/oidc.js.map +1 -0
  124. package/esm/mock/react.d.ts +58 -0
  125. package/esm/mock/react.js +7 -0
  126. package/esm/mock/react.js.map +1 -0
  127. package/esm/react/index.js +2 -0
  128. package/esm/react/index.js.map +1 -0
  129. package/esm/react/react.d.ts +102 -0
  130. package/esm/react/react.js +221 -0
  131. package/esm/react/react.js.map +1 -0
  132. package/esm/tools/Deferred.d.ts +13 -0
  133. package/esm/tools/Deferred.js +19 -0
  134. package/esm/tools/Deferred.js.map +1 -0
  135. package/esm/tools/EphemeralSessionStorage.d.ts +12 -0
  136. package/{src/tools/EphemeralSessionStorage.ts → esm/tools/EphemeralSessionStorage.js} +30 -112
  137. package/esm/tools/EphemeralSessionStorage.js.map +1 -0
  138. package/esm/tools/Evt.d.ts +11 -0
  139. package/{src/tools/Evt.ts → esm/tools/Evt.js} +7 -25
  140. package/esm/tools/Evt.js.map +1 -0
  141. package/esm/tools/StatefulEvt.d.ts +12 -0
  142. package/esm/tools/StatefulEvt.js +21 -0
  143. package/esm/tools/StatefulEvt.js.map +1 -0
  144. package/esm/tools/ValueOrAsyncGetter.js +2 -0
  145. package/esm/tools/ValueOrAsyncGetter.js.map +1 -0
  146. package/esm/tools/asymmetricEncryption.d.ts +18 -0
  147. package/esm/tools/asymmetricEncryption.js +85 -0
  148. package/esm/tools/asymmetricEncryption.js.map +1 -0
  149. package/esm/tools/base64.d.ts +2 -0
  150. package/{src/tools/base64.ts → esm/tools/base64.js} +3 -3
  151. package/esm/tools/base64.js.map +1 -0
  152. package/esm/tools/createObjectThatThrowsIfAccessed.d.ts +8 -0
  153. package/{src/tools/createObjectThatThrowsIfAccessed.ts → esm/tools/createObjectThatThrowsIfAccessed.js} +7 -18
  154. package/esm/tools/createObjectThatThrowsIfAccessed.js.map +1 -0
  155. package/esm/tools/decodeJwt.d.ts +25 -0
  156. package/esm/tools/decodeJwt.js +60 -0
  157. package/esm/tools/decodeJwt.js.map +1 -0
  158. package/esm/tools/generateUrlSafeRandom.d.ts +3 -0
  159. package/{src/tools/generateUrlSafeRandom.ts → esm/tools/generateUrlSafeRandom.js} +5 -8
  160. package/esm/tools/generateUrlSafeRandom.js.map +1 -0
  161. package/esm/tools/getDownlinkAndRtt.d.ts +4 -0
  162. package/{src/tools/getDownlinkAndRtt.ts → esm/tools/getDownlinkAndRtt.js} +6 -10
  163. package/esm/tools/getDownlinkAndRtt.js.map +1 -0
  164. package/esm/tools/getIsOnline.d.ts +7 -0
  165. package/{src/tools/getIsOnline.ts → esm/tools/getIsOnline.js} +3 -9
  166. package/esm/tools/getIsOnline.js.map +1 -0
  167. package/esm/tools/getIsValidRemoteJson.d.ts +1 -0
  168. package/esm/tools/getIsValidRemoteJson.js +15 -0
  169. package/esm/tools/getIsValidRemoteJson.js.map +1 -0
  170. package/esm/tools/getPrUserInteraction.d.ts +4 -0
  171. package/{src/tools/getPrUserInteraction.ts → esm/tools/getPrUserInteraction.js} +2 -6
  172. package/esm/tools/getPrUserInteraction.js.map +1 -0
  173. package/esm/tools/getUserEnvironmentInfo.d.ts +1 -0
  174. package/esm/tools/getUserEnvironmentInfo.js +50 -0
  175. package/esm/tools/getUserEnvironmentInfo.js.map +1 -0
  176. package/esm/tools/haveSharedParentDomain.d.ts +4 -0
  177. package/{src/tools/haveSharedParentDomain.ts → esm/tools/haveSharedParentDomain.js} +3 -5
  178. package/esm/tools/haveSharedParentDomain.js.map +1 -0
  179. package/esm/tools/isDev.d.ts +1 -0
  180. package/{src/tools/isDev.ts → esm/tools/isDev.js} +5 -12
  181. package/esm/tools/isDev.js.map +1 -0
  182. package/esm/tools/parseKeycloakIssuerUri.d.ts +30 -0
  183. package/{src/tools/parseKeycloakIssuerUri.ts → esm/tools/parseKeycloakIssuerUri.js} +2 -18
  184. package/esm/tools/parseKeycloakIssuerUri.js.map +1 -0
  185. package/esm/tools/readExpirationTimeInJwt.d.ts +1 -0
  186. package/{src/tools/readExpirationTimeInJwt.ts → esm/tools/readExpirationTimeInJwt.js} +6 -7
  187. package/esm/tools/readExpirationTimeInJwt.js.map +1 -0
  188. package/esm/tools/startCountdown.d.ts +11 -0
  189. package/{src/tools/startCountdown.ts → esm/tools/startCountdown.js} +6 -17
  190. package/esm/tools/startCountdown.js.map +1 -0
  191. package/esm/tools/subscribeToUserInteraction.d.ts +6 -0
  192. package/{src/tools/subscribeToUserInteraction.ts → esm/tools/subscribeToUserInteraction.js} +4 -13
  193. package/esm/tools/subscribeToUserInteraction.js.map +1 -0
  194. package/esm/tools/toFullyQualifiedUrl.d.ts +10 -0
  195. package/{src/tools/toFullyQualifiedUrl.ts → esm/tools/toFullyQualifiedUrl.js} +7 -25
  196. package/esm/tools/toFullyQualifiedUrl.js.map +1 -0
  197. package/esm/tools/toHumanReadableDuration.d.ts +1 -0
  198. package/{src/tools/toHumanReadableDuration.ts → esm/tools/toHumanReadableDuration.js} +8 -5
  199. package/esm/tools/toHumanReadableDuration.js.map +1 -0
  200. package/esm/tools/urlSearchParams.d.ts +19 -0
  201. package/{src/tools/urlSearchParams.ts → esm/tools/urlSearchParams.js} +24 -70
  202. package/esm/tools/urlSearchParams.js.map +1 -0
  203. package/esm/tools/workerTimers.d.ts +5 -0
  204. package/{src/tools/workerTimers.ts → esm/tools/workerTimers.js} +7 -27
  205. package/esm/tools/workerTimers.js.map +1 -0
  206. package/esm/vendor/frontend/oidc-client-ts.js +3636 -0
  207. package/{src/vendor/frontend/tsafe.ts → esm/vendor/frontend/tsafe.d.ts} +0 -1
  208. package/esm/vendor/frontend/tsafe.js +1 -0
  209. package/esm/vendor/frontend/worker-timers.js +1 -0
  210. package/index.js.map +1 -1
  211. package/keycloak/index.js.map +1 -1
  212. package/keycloak/isKeycloak.js.map +1 -1
  213. package/keycloak/keycloak-js/Keycloak.js.map +1 -1
  214. package/keycloak/keycloak-js/index.js.map +1 -1
  215. package/keycloak/keycloak-js/types.js.map +1 -1
  216. package/keycloak/keycloakIssuerUriParsed.js.map +1 -1
  217. package/keycloak/keycloakUtils.js.map +1 -1
  218. package/keycloak-js.js.map +1 -1
  219. package/mock/index.js.map +1 -1
  220. package/mock/oidc.js.map +1 -1
  221. package/mock/react.js.map +1 -1
  222. package/package.json +75 -328
  223. package/react/index.js.map +1 -1
  224. package/react/react.js.map +1 -1
  225. package/tools/Deferred.d.ts +0 -1
  226. package/tools/Deferred.js +0 -4
  227. package/tools/Deferred.js.map +1 -1
  228. package/tools/EphemeralSessionStorage.js.map +1 -1
  229. package/tools/Evt.js.map +1 -1
  230. package/tools/StatefulEvt.js.map +1 -1
  231. package/tools/ValueOrAsyncGetter.js.map +1 -1
  232. package/tools/asymmetricEncryption.js.map +1 -1
  233. package/tools/base64.js.map +1 -1
  234. package/tools/createObjectThatThrowsIfAccessed.js.map +1 -1
  235. package/tools/decodeJwt.js.map +1 -1
  236. package/tools/generateUrlSafeRandom.js.map +1 -1
  237. package/tools/getDownlinkAndRtt.js.map +1 -1
  238. package/tools/getIsOnline.js.map +1 -1
  239. package/tools/getIsValidRemoteJson.js.map +1 -1
  240. package/tools/getPrUserInteraction.js.map +1 -1
  241. package/tools/getUserEnvironmentInfo.js.map +1 -1
  242. package/tools/haveSharedParentDomain.js.map +1 -1
  243. package/tools/isDev.js.map +1 -1
  244. package/tools/parseKeycloakIssuerUri.js.map +1 -1
  245. package/tools/readExpirationTimeInJwt.js.map +1 -1
  246. package/tools/startCountdown.js.map +1 -1
  247. package/tools/subscribeToUserInteraction.js.map +1 -1
  248. package/tools/toFullyQualifiedUrl.js.map +1 -1
  249. package/tools/toHumanReadableDuration.js.map +1 -1
  250. package/tools/urlSearchParams.js.map +1 -1
  251. package/tools/workerTimers.js.map +1 -1
  252. package/vendor/frontend/tsafe.d.ts +0 -1
  253. package/vendor/frontend/tsafe.js +1 -1
  254. package/src/backend.ts +0 -391
  255. package/src/core/Oidc.ts +0 -140
  256. package/src/core/StateData.ts +0 -118
  257. package/src/core/configId.ts +0 -3
  258. package/src/core/loginSilent.ts +0 -209
  259. package/src/core/oidcClientTsUserToTokens.ts +0 -229
  260. package/src/core/persistedAuthState.ts +0 -122
  261. package/src/keycloak/index.ts +0 -8
  262. package/src/keycloak/keycloakUtils.ts +0 -90
  263. package/src/mock/react.tsx +0 -11
  264. package/src/react/react.tsx +0 -476
  265. package/src/tools/Deferred.ts +0 -39
  266. package/src/tools/StatefulEvt.ts +0 -38
  267. package/src/tools/asymmetricEncryption.ts +0 -184
  268. package/src/tools/decodeJwt.ts +0 -95
  269. package/src/tools/getIsValidRemoteJson.ts +0 -18
  270. package/src/tools/getUserEnvironmentInfo.ts +0 -42
  271. package/src/vendor/backend/evt.ts +0 -2
  272. package/src/vendor/backend/jsonwebtoken.ts +0 -1
  273. package/src/vendor/backend/node-fetch.ts +0 -2
  274. package/src/vendor/backend/node-jose.ts +0 -1
  275. package/src/vendor/backend/tsafe.ts +0 -5
  276. package/src/vendor/backend/zod.ts +0 -1
  277. /package/{src/core/index.ts → esm/core/index.d.ts} +0 -0
  278. /package/{src/index.ts → esm/index.d.ts} +0 -0
  279. /package/{src/keycloak/keycloak-js/index.ts → esm/keycloak/keycloak-js/index.d.ts} +0 -0
  280. /package/{src/keycloak-js.ts → esm/keycloak-js.d.ts} +0 -0
  281. /package/{src/mock/index.ts → esm/mock/index.d.ts} +0 -0
  282. /package/{src/react/index.ts → esm/react/index.d.ts} +0 -0
  283. /package/{src/tools/ValueOrAsyncGetter.ts → esm/tools/ValueOrAsyncGetter.d.ts} +0 -0
  284. /package/{src/vendor/frontend/oidc-client-ts.ts → esm/vendor/frontend/oidc-client-ts.d.ts} +0 -0
  285. /package/{src/vendor/frontend/worker-timers.ts → esm/vendor/frontend/worker-timers.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Keycloak.js","sourceRoot":"","sources":["../../../../src/keycloak/keycloak-js/Keycloak.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Keycloak } from "./Keycloak";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keycloak/keycloak-js/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -1,29 +1,8 @@
1
- /*
2
- * MIT License
3
- *
4
- * Copyright 2017 Brett Epps <https://github.com/eppsilon>
5
- *
6
- * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
7
- * associated documentation files (the "Software"), to deal in the Software without restriction, including
8
- * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
10
- * following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all copies or substantial
13
- * portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
16
- * LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17
- * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
18
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
19
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
- */
21
1
  export type KeycloakOnLoad = "login-required" | "check-sso";
22
2
  export type KeycloakResponseMode = "query" | "fragment";
23
3
  export type KeycloakResponseType = "code" | "id_token token" | "code id_token token";
24
4
  export type KeycloakFlow = "standard" | "implicit" | "hybrid";
25
5
  export type KeycloakPkceMethod = "S256" | false;
26
-
27
6
  export interface KeycloakServerConfig {
28
7
  /**
29
8
  * URL to the Keycloak server, for example: http://keycloak-server/auth
@@ -38,7 +17,6 @@ export interface KeycloakServerConfig {
38
17
  */
39
18
  clientId: string;
40
19
  }
41
-
42
20
  /**
43
21
  * OpenIdProviderMetadata The OpenID version of the adapter configuration, based on the {@link https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata OpenID Connect Discovery specification}.
44
22
  */
@@ -54,7 +32,6 @@ export interface OpenIdProviderMetadata {
54
32
  /** URL at the OP to which an RP can perform a redirect to request that the End-User be logged out at the OP. */
55
33
  end_session_endpoint?: string;
56
34
  }
57
-
58
35
  export interface Acr {
59
36
  /**
60
37
  * Array of values, which will be used inside ID Token `acr` claim sent inside the `claims` parameter to Keycloak server during login.
@@ -67,7 +44,6 @@ export interface Acr {
67
44
  */
68
45
  essential: boolean;
69
46
  }
70
-
71
47
  export interface KeycloakInitOptions {
72
48
  /**
73
49
  * Adds a [cryptographic nonce](https://en.wikipedia.org/wiki/Cryptographic_nonce)
@@ -76,9 +52,7 @@ export interface KeycloakInitOptions {
76
52
  *
77
53
  * NOTE oidc-spa: Not supported because redundant with PKCE and we only support PKCE.
78
54
  */
79
- //useNonce?: boolean;
80
55
  useNonce?: false;
81
-
82
56
  /**
83
57
  *
84
58
  * Allow usage of different types of adapters or a custom adapter to make Keycloak work in different environments.
@@ -110,59 +84,47 @@ export interface KeycloakInitOptions {
110
84
  * NOTE oidc-spa: We do not support adapters
111
85
  *
112
86
  */
113
- //adapter?: 'default' | 'cordova' | 'cordova-native' | KeycloakAdapter;
114
87
  adapter?: "default";
115
-
116
88
  /**
117
89
  * Specifies an action to do on load.
118
90
  *
119
91
  * NOTE oidc-spa: Default "check-sso"
120
92
  */
121
93
  onLoad?: KeycloakOnLoad;
122
-
123
94
  /**
124
95
  * Set an initial value for the token.
125
96
  */
126
97
  token?: string;
127
-
128
98
  /**
129
99
  * Set an initial value for the refresh token.
130
100
  */
131
101
  refreshToken?: string;
132
-
133
102
  /**
134
103
  * Set an initial value for the id token (only together with `token` or
135
104
  * `refreshToken`).
136
105
  */
137
106
  idToken?: string;
138
-
139
107
  /**
140
108
  * Set an initial value for skew between local time and Keycloak server in
141
109
  * seconds (only together with `token` or `refreshToken`).
142
110
  *
143
111
  * NOTE oidc-spa: Not supported
144
112
  */
145
- //timeSkew?: number;
146
113
  timeSkew?: undefined;
147
-
148
114
  /**
149
115
  * Set to enable/disable monitoring login state.
150
116
  * @default true (in keycloak-js but false in oidc-spa)
151
117
  *
152
118
  * NOTE oidc-spa: we check session via broadcast channels.
153
119
  */
154
- //checkLoginIframe?: boolean;
155
120
  checkLoginIframe?: false;
156
-
157
121
  /**
158
122
  * Set the interval to check login state (in seconds).
159
123
  * @default 5
160
124
  *
161
125
  * NOTE oidc-spa: Not applicable
162
126
  */
163
- //checkLoginIframeInterval?: number;
164
127
  checkLoginIframeInterval?: undefined;
165
-
166
128
  /**
167
129
  * Set the OpenID Connect response mode to send to Keycloak upon login.
168
130
  * @default fragment After successful authentication Keycloak will redirect
@@ -172,15 +134,12 @@ export interface KeycloakInitOptions {
172
134
  *
173
135
  * NOTE oidc-spa: We enforce 'fragment' against keycloak
174
136
  */
175
- //responseMode?: KeycloakResponseMode;
176
137
  responseMode?: "fragment";
177
-
178
138
  /**
179
139
  * Specifies a default uri to redirect to after login or logout.
180
140
  * This is currently supported for adapter 'cordova-native' and 'default'
181
141
  */
182
142
  redirectUri?: string;
183
-
184
143
  /**
185
144
  * Specifies an uri to redirect to after silent check-sso.
186
145
  * Silent check-sso will only happen, when this redirect uri is given and
@@ -188,8 +147,6 @@ export interface KeycloakInitOptions {
188
147
  *
189
148
  * NOTE oidc-spa: Not applicable, we use the root as silentSsoRedirectUri
190
149
  */
191
- // silentCheckSsoRedirectUri?: string;
192
-
193
150
  /**
194
151
  * Specifies whether the silent check-sso should fallback to "non-silent"
195
152
  * check-sso when 3rd party cookies are blocked by the browser. Defaults
@@ -197,40 +154,32 @@ export interface KeycloakInitOptions {
197
154
  *
198
155
  * NOTE oidc-spa: We enforce true.
199
156
  */
200
- //silentCheckSsoFallback?: boolean;
201
157
  silentCheckSsoFallback?: true;
202
-
203
158
  /**
204
159
  * Set the OpenID Connect flow.
205
160
  * @default standard
206
161
  *
207
162
  * NOTE oidc-spa: Only standard flow supported, only safe flow for SPAs
208
163
  */
209
- //flow?: KeycloakFlow;
210
164
  flow?: "standard";
211
-
212
165
  /**
213
166
  * Configures the Proof Key for Code Exchange (PKCE) method to use. This will default to 'S256'.
214
167
  * Can be disabled by passing `false`.
215
168
  *
216
169
  * NOTE oidc-spa: PKCE can't be disabled, we enforce the use of S256.
217
170
  */
218
- //pkceMethod?: KeycloakPkceMethod;
219
171
  pkceMethod?: "S256";
220
-
221
172
  /**
222
173
  * Enables logging messages from Keycloak to the console.
223
174
  * @default false
224
175
  */
225
176
  enableLogging?: boolean;
226
-
227
177
  /**
228
178
  * Set the default scope parameter to the login endpoint. Use a space-delimited list of scopes.
229
179
  * Note that the scope 'openid' will be always be added to the list of scopes by the adapter.
230
180
  * Note that the default scope specified here is overwritten if the `login()` options specify scope explicitly.
231
181
  */
232
182
  scope?: string;
233
-
234
183
  /**
235
184
  * Configures how long will Keycloak adapter wait for receiving messages from server in ms. This is used,
236
185
  * for example, when waiting for response of 3rd party cookies check.
@@ -239,24 +188,19 @@ export interface KeycloakInitOptions {
239
188
  *
240
189
  * NOTE oidc-spa: Computed dynamically depending of the connection speed, at least 7 seconds in production.
241
190
  */
242
- //messageReceiveTimeout?: number
243
191
  messageReceiveTimeout?: undefined;
244
-
245
192
  /**
246
193
  * When onLoad is 'login-required', sets the 'ui_locales' query param in compliance with section 3.1.2.1
247
194
  * of the OIDC 1.0 specification.
248
195
  */
249
196
  locale?: string;
250
-
251
197
  /**
252
198
  * HTTP method for calling the end_session endpoint. Defaults to 'GET'.
253
199
  *
254
200
  * NOTE oidc-spa: only 'GET' supported.
255
201
  */
256
- //logoutMethod?: 'GET' | 'POST';
257
202
  logoutMethod?: "GET";
258
203
  }
259
-
260
204
  export interface KeycloakLoginOptions {
261
205
  /**
262
206
  * Specifies the scope parameter for the login url
@@ -265,9 +209,7 @@ export interface KeycloakLoginOptions {
265
209
  * NOTE oidc-spa: The scopes can be provided only at the init() level.
266
210
  * If it's a problem for you please open an issue on https://github.com/keycloakify/oidc-spa
267
211
  */
268
- //scope?: string;
269
212
  scope?: undefined;
270
-
271
213
  /**
272
214
  * Specifies the uri to redirect to after login.
273
215
  *
@@ -277,7 +219,6 @@ export interface KeycloakLoginOptions {
277
219
  * be redirected after login.
278
220
  */
279
221
  redirectUri?: string;
280
-
281
222
  /**
282
223
  * By default the login screen is displayed if the user is not logged into
283
224
  * Keycloak. To only authenticate to the application if the user is already
@@ -293,15 +234,12 @@ export interface KeycloakLoginOptions {
293
234
  * sensible and designed to spare you from dealing with protocol intricacies.
294
235
  * If you feel otherwise, we welcome discussion—please open an issue at https://github.com/keycloakify/oidc-spa.
295
236
  */
296
- //prompt?: "none" | "login" | "consent";
297
237
  prompt?: undefined;
298
-
299
238
  /**
300
239
  * If value is `'register'` then user is redirected to registration page,
301
240
  * otherwise to login page.
302
241
  */
303
242
  action?: string;
304
-
305
243
  /**
306
244
  * Used just if user is already authenticated. Specifies maximum time since
307
245
  * the authentication of user happened. If user is already authenticated for
@@ -312,37 +250,30 @@ export interface KeycloakLoginOptions {
312
250
  * be defined and enforced on the server using "Idle Session Lifetime" and not
313
251
  * hard coded in the client.
314
252
  */
315
- //maxAge?: number;
316
253
  maxAge?: undefined;
317
-
318
254
  /**
319
255
  * Used to pre-fill the username/email field on the login form.
320
256
  */
321
257
  loginHint?: string;
322
-
323
258
  /**
324
259
  * Sets the `acr` claim of the ID token sent inside the `claims` parameter. See section 5.5.1 of the OIDC 1.0 specification.
325
260
  */
326
261
  acr?: Acr;
327
-
328
262
  /**
329
263
  * Configures the 'acr_values' query param in compliance with section 3.1.2.1
330
264
  * of the OIDC 1.0 specification.
331
265
  * Used to tell Keycloak what level of authentication the user needs.
332
266
  */
333
267
  acrValues?: string;
334
-
335
268
  /**
336
269
  * Used to tell Keycloak which IDP the user wants to authenticate with.
337
270
  */
338
271
  idpHint?: string;
339
-
340
272
  /**
341
273
  * Sets the 'ui_locales' query param in compliance with section 3.1.2.1
342
274
  * of the OIDC 1.0 specification.
343
275
  */
344
276
  locale?: string;
345
-
346
277
  /**
347
278
  * Specifies arguments that are passed to the Cordova in-app-browser (if applicable).
348
279
  * Options 'hidden' and 'location' are not affected by these arguments.
@@ -351,27 +282,22 @@ export interface KeycloakLoginOptions {
351
282
  *
352
283
  * NOTE oidc-spa: Not supported.
353
284
  */
354
- //cordovaOptions?: { [optionName: string]: string };
355
285
  cordovaOptions?: undefined;
356
286
  }
357
-
358
287
  export interface KeycloakLogoutOptions {
359
288
  /**
360
289
  * Specifies the uri to redirect to after logout.
361
290
  */
362
291
  redirectUri?: string;
363
-
364
292
  /**
365
293
  * HTTP method for calling the end_session endpoint. Defaults to 'GET'.
366
294
  *
367
295
  * NOTE oidc-spa: Only 'GET' supported.
368
296
  */
369
- //logoutMethod?: 'GET' | 'POST';
370
297
  logoutMethod?: "GET";
371
298
  }
372
-
373
- export interface KeycloakRegisterOptions extends Omit<KeycloakLoginOptions, "action"> {}
374
-
299
+ export interface KeycloakRegisterOptions extends Omit<KeycloakLoginOptions, "action"> {
300
+ }
375
301
  export interface KeycloakAccountOptions {
376
302
  /**
377
303
  * Specifies the uri to redirect to when redirecting back to the application.
@@ -382,14 +308,12 @@ export interface KeycloakError {
382
308
  error: string;
383
309
  error_description: string;
384
310
  }
385
-
386
311
  export interface KeycloakRedirectUriOptions {
387
312
  /**
388
313
  * Specifies the uri to redirect to after login.
389
314
  */
390
315
  redirectUri?: string;
391
316
  }
392
-
393
317
  export interface KeycloakAdapter {
394
318
  login(options?: KeycloakLoginOptions): Promise<void>;
395
319
  logout(options?: KeycloakLogoutOptions): Promise<void>;
@@ -397,7 +321,6 @@ export interface KeycloakAdapter {
397
321
  accountManagement(): Promise<void>;
398
322
  redirectUri(options?: KeycloakRedirectUriOptions): string;
399
323
  }
400
-
401
324
  export interface KeycloakProfile {
402
325
  id?: string;
403
326
  username?: string;
@@ -410,7 +333,6 @@ export interface KeycloakProfile {
410
333
  createdTimestamp?: number;
411
334
  attributes?: Record<string, unknown>;
412
335
  }
413
-
414
336
  export interface KeycloakTokenParsed {
415
337
  iss?: string;
416
338
  sub?: string;
@@ -425,17 +347,14 @@ export interface KeycloakTokenParsed {
425
347
  session_state?: string;
426
348
  realm_access?: KeycloakRoles;
427
349
  resource_access?: KeycloakResourceAccess;
428
- [key: string]: any; // Add other attributes here.
350
+ [key: string]: any;
429
351
  }
430
-
431
352
  export interface KeycloakResourceAccess {
432
353
  [key: string]: KeycloakRoles;
433
354
  }
434
-
435
355
  export interface KeycloakRoles {
436
356
  roles: string[];
437
357
  }
438
-
439
358
  export interface KeycloakUserInfo {
440
359
  sub: string;
441
360
  [key: string]: any;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/keycloak/keycloak-js/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export type KeycloakIssuerUriParsed = {
2
+ origin: string;
3
+ realm: string;
4
+ /** If defined starts with / and end with no `/` */
5
+ kcHttpRelativePath: string | undefined;
6
+ };
7
+ export declare function parseKeycloakIssuerUri(params: {
8
+ issuerUri: string;
9
+ }): KeycloakIssuerUriParsed;
@@ -1,29 +1,16 @@
1
1
  import { assert } from "../vendor/frontend/tsafe";
2
2
  import { isKeycloak } from "./isKeycloak";
3
-
4
- export type KeycloakIssuerUriParsed = {
5
- origin: string;
6
- realm: string;
7
- /** If defined starts with / and end with no `/` */
8
- kcHttpRelativePath: string | undefined;
9
- };
10
-
11
- export function parseKeycloakIssuerUri(params: { issuerUri: string }): KeycloakIssuerUriParsed {
3
+ export function parseKeycloakIssuerUri(params) {
12
4
  const { issuerUri } = params;
13
-
14
5
  assert(isKeycloak({ issuerUri }));
15
-
16
6
  const url = new URL(issuerUri.replace(/\/$/, ""));
17
-
18
7
  const split = url.pathname.split("/realms/");
19
-
20
8
  assert(split.length === 2);
21
-
22
9
  const [kcHttpRelativePath, realm] = split;
23
-
24
10
  return {
25
11
  origin: url.origin,
26
12
  realm,
27
13
  kcHttpRelativePath: kcHttpRelativePath === "" ? undefined : kcHttpRelativePath
28
14
  };
29
15
  }
16
+ //# sourceMappingURL=keycloakIssuerUriParsed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keycloakIssuerUriParsed.js","sourceRoot":"","sources":["../../../src/keycloak/keycloakIssuerUriParsed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAS1C,MAAM,UAAU,sBAAsB,CAAC,MAA6B;IAChE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAE7B,MAAM,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAElC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAE3B,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAE1C,OAAO;QACH,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK;QACL,kBAAkB,EAAE,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;KACjF,CAAC;AACN,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type KeycloakIssuerUriParsed } from "./keycloakIssuerUriParsed";
2
+ export type KeycloakUtils = {
3
+ issuerUriParsed: KeycloakIssuerUriParsed;
4
+ adminConsoleUrl: string;
5
+ adminConsoleUrl_master: string;
6
+ getAccountUrl: (params: {
7
+ clientId: string;
8
+ backToAppFromAccountUrl: string;
9
+ locale?: string;
10
+ }) => string;
11
+ fetchUserProfile: (params: {
12
+ accessToken: string;
13
+ }) => Promise<KeycloakProfile>;
14
+ fetchUserInfo: (params: {
15
+ accessToken: string;
16
+ }) => Promise<KeycloakUserInfo>;
17
+ transformUrlBeforeRedirectForRegister: (authorizationUrl: string) => string;
18
+ };
19
+ export type KeycloakProfile = {
20
+ id?: string;
21
+ username?: string;
22
+ email?: string;
23
+ firstName?: string;
24
+ lastName?: string;
25
+ enabled?: boolean;
26
+ emailVerified?: boolean;
27
+ totp?: boolean;
28
+ createdTimestamp?: number;
29
+ attributes?: Record<string, unknown>;
30
+ };
31
+ export type KeycloakUserInfo = {
32
+ sub: string;
33
+ [key: string]: any;
34
+ };
35
+ export declare function createKeycloakUtils(params: {
36
+ issuerUri: string;
37
+ }): KeycloakUtils;
@@ -0,0 +1,44 @@
1
+ import { toFullyQualifiedUrl } from "../tools/toFullyQualifiedUrl";
2
+ import { parseKeycloakIssuerUri } from "./keycloakIssuerUriParsed";
3
+ export function createKeycloakUtils(params) {
4
+ const { issuerUri } = params;
5
+ const issuerUriParsed = parseKeycloakIssuerUri({ issuerUri });
6
+ const keycloakServerUrl = `${issuerUriParsed.origin}${issuerUriParsed.kcHttpRelativePath ?? ""}`;
7
+ const getAdminConsoleUrl = (realm) => `${keycloakServerUrl}/admin/${encodeURIComponent(realm)}/console`;
8
+ const realmUrl = `${keycloakServerUrl}/realms/${encodeURIComponent(issuerUriParsed.realm)}`;
9
+ return {
10
+ issuerUriParsed,
11
+ adminConsoleUrl: getAdminConsoleUrl(issuerUriParsed.realm),
12
+ adminConsoleUrl_master: getAdminConsoleUrl("master"),
13
+ getAccountUrl: ({ clientId, backToAppFromAccountUrl, locale }) => {
14
+ const accountUrlObj = new URL(`${keycloakServerUrl}/realms/${issuerUriParsed.realm}/account`);
15
+ accountUrlObj.searchParams.set("referrer", clientId);
16
+ accountUrlObj.searchParams.set("referrer_uri", toFullyQualifiedUrl({
17
+ urlish: backToAppFromAccountUrl,
18
+ doAssertNoQueryParams: false
19
+ }));
20
+ if (locale !== undefined) {
21
+ accountUrlObj.searchParams.set("kc_locale", locale);
22
+ }
23
+ return accountUrlObj.href;
24
+ },
25
+ fetchUserProfile: ({ accessToken }) => fetch(`${realmUrl}/account`, {
26
+ headers: {
27
+ Accept: "application/json",
28
+ Authorization: `Bearer ${accessToken}`
29
+ }
30
+ }).then(r => r.json()),
31
+ fetchUserInfo: ({ accessToken }) => fetch(`${realmUrl}/protocol/openid-connect/userinfo`, {
32
+ headers: {
33
+ Accept: "application/json",
34
+ Authorization: `Bearer ${accessToken}`
35
+ }
36
+ }).then(r => r.json()),
37
+ transformUrlBeforeRedirectForRegister: authorizationUrl => {
38
+ const urlObj = new URL(authorizationUrl);
39
+ urlObj.pathname = urlObj.pathname.replace(/\/auth$/, "/registrations");
40
+ return urlObj.href;
41
+ }
42
+ };
43
+ }
44
+ //# sourceMappingURL=keycloakUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keycloakUtils.js","sourceRoot":"","sources":["../../../src/keycloak/keycloakUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAgC,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAkCjG,MAAM,UAAU,mBAAmB,CAAC,MAA6B;IAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAE7B,MAAM,eAAe,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAE9D,MAAM,iBAAiB,GAAG,GAAG,eAAe,CAAC,MAAM,GAAG,eAAe,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;IAEjG,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE,CACzC,GAAG,iBAAiB,UAAU,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC;IAEtE,MAAM,QAAQ,GAAG,GAAG,iBAAiB,WAAW,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;IAE5F,OAAO;QACH,eAAe;QACf,eAAe,EAAE,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC;QAC1D,sBAAsB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;QACpD,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7D,MAAM,aAAa,GAAG,IAAI,GAAG,CACzB,GAAG,iBAAiB,WAAW,eAAe,CAAC,KAAK,UAAU,CACjE,CAAC;YACF,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACrD,aAAa,CAAC,YAAY,CAAC,GAAG,CAC1B,cAAc,EACd,mBAAmB,CAAC;gBAChB,MAAM,EAAE,uBAAuB;gBAC/B,qBAAqB,EAAE,KAAK;aAC/B,CAAC,CACL,CAAC;YACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,aAAa,CAAC,IAAI,CAAC;QAC9B,CAAC;QACD,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAClC,KAAK,CAAC,GAAG,QAAQ,UAAU,EAAE;YACzB,OAAO,EAAE;gBACL,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,WAAW,EAAE;aACzC;SACJ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAC/B,KAAK,CAAC,GAAG,QAAQ,mCAAmC,EAAE;YAClD,OAAO,EAAE;gBACL,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,WAAW,EAAE;aACzC;SACJ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,qCAAqC,EAAE,gBAAgB,CAAC,EAAE;YACtD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./keycloak/keycloak-js";
2
+ //# sourceMappingURL=keycloak-js.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keycloak-js.js","sourceRoot":"","sources":["../../src/keycloak-js.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./oidc";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mock/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Oidc } from "../core";
2
+ export type ParamsOfCreateMockOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, AutoLogin extends boolean = false> = {
3
+ mockedParams?: Partial<Oidc["params"]>;
4
+ mockedTokens?: Partial<Oidc.Tokens<DecodedIdToken>>;
5
+ /**
6
+ * The URL of the home page of your app.
7
+ * We need to know this so we know where to redirect when you call `logout({ redirectTo: "home"})`.
8
+ * In the majority of cases it should be `homeUrl: "/"` but it could aso be something like `homeUrl: "/dashboard"`
9
+ * if your web app isn't hosted at the root of the domain.
10
+ */
11
+ homeUrl: string;
12
+ autoLogin?: AutoLogin;
13
+ postLoginRedirectUrl?: string;
14
+ } & (AutoLogin extends true ? {
15
+ isUserInitiallyLoggedIn?: true;
16
+ } : {
17
+ isUserInitiallyLoggedIn: boolean;
18
+ });
19
+ export declare function createMockOidc<DecodedIdToken extends Record<string, unknown> = Oidc.Tokens.DecodedIdToken_base, AutoLogin extends boolean = false>(params: ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin>): Promise<AutoLogin extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken>>;