@civic/auth 0.0.1-beta.28 → 0.0.1-beta.29

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 (261) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-lint.log +14 -0
  3. package/.turbo/turbo-test.log +1678 -0
  4. package/civic-auth-0.0.1-beta.15.tgz +0 -0
  5. package/civic-auth-0.0.1-beta.17.tgz +0 -0
  6. package/dist/AuthProvider-BYZ8w92b.d.mts +15 -0
  7. package/dist/AuthProvider-BgOwv9h8.d.ts +15 -0
  8. package/dist/AuthProvider-Bj_Prt1x.d.ts +21 -0
  9. package/dist/AuthProvider-DUAoX4G9.d.mts +21 -0
  10. package/dist/UserProvider-BA2uflVB.d.ts +16 -0
  11. package/dist/UserProvider-Bl3j1PUO.d.mts +16 -0
  12. package/dist/UserProvider-CMLaYOUD.d.ts +16 -0
  13. package/dist/UserProvider-Cbm8MZkJ.d.mts +16 -0
  14. package/dist/chunk-4PLCDPEN.mjs +599 -0
  15. package/dist/chunk-4PLCDPEN.mjs.map +1 -0
  16. package/dist/chunk-5UQQYXCX.js +1 -0
  17. package/dist/chunk-5UQQYXCX.js.map +1 -0
  18. package/dist/chunk-63YGK3A7.mjs +223 -0
  19. package/dist/chunk-63YGK3A7.mjs.map +1 -0
  20. package/dist/chunk-6RFRDWIP.js +223 -0
  21. package/dist/chunk-6RFRDWIP.js.map +1 -0
  22. package/dist/chunk-7K3QN2AT.js +599 -0
  23. package/dist/chunk-7K3QN2AT.js.map +1 -0
  24. package/dist/chunk-AM2Y662I.js +601 -0
  25. package/dist/chunk-AM2Y662I.js.map +1 -0
  26. package/dist/chunk-AP4627CS.mjs +223 -0
  27. package/dist/chunk-AP4627CS.mjs.map +1 -0
  28. package/dist/chunk-CRTRMMJ7.js +59 -0
  29. package/dist/chunk-CRTRMMJ7.js.map +1 -0
  30. package/dist/chunk-CTVJJBBA.js +118 -0
  31. package/dist/chunk-CTVJJBBA.js.map +1 -0
  32. package/dist/chunk-EKLYHP2D.mjs +711 -0
  33. package/dist/chunk-EKLYHP2D.mjs.map +1 -0
  34. package/dist/chunk-FHRZSX3C.js +710 -0
  35. package/dist/chunk-FHRZSX3C.js.map +1 -0
  36. package/dist/chunk-GB3H3I47.js +711 -0
  37. package/dist/chunk-GB3H3I47.js.map +1 -0
  38. package/dist/chunk-JDZPCA3P.js +173 -0
  39. package/dist/chunk-JDZPCA3P.js.map +1 -0
  40. package/dist/chunk-JEOPLLWO.js +223 -0
  41. package/dist/chunk-JEOPLLWO.js.map +1 -0
  42. package/dist/chunk-MK7557NR.mjs +118 -0
  43. package/dist/chunk-MK7557NR.mjs.map +1 -0
  44. package/dist/chunk-NLRREFOX.mjs +710 -0
  45. package/dist/chunk-NLRREFOX.mjs.map +1 -0
  46. package/dist/chunk-O3WGNLRO.mjs +173 -0
  47. package/dist/chunk-O3WGNLRO.mjs.map +1 -0
  48. package/dist/chunk-OXXUQ36U.mjs +283 -0
  49. package/dist/chunk-OXXUQ36U.mjs.map +1 -0
  50. package/dist/chunk-PMJAV4JJ.mjs +1 -0
  51. package/dist/chunk-PMJAV4JJ.mjs.map +1 -0
  52. package/dist/chunk-Q7DSPTUG.mjs +601 -0
  53. package/dist/chunk-Q7DSPTUG.mjs.map +1 -0
  54. package/dist/chunk-RGHW4PYM.mjs +59 -0
  55. package/dist/chunk-RGHW4PYM.mjs.map +1 -0
  56. package/dist/chunk-TH6FI2XI.js +283 -0
  57. package/dist/chunk-TH6FI2XI.js.map +1 -0
  58. package/dist/cjs/src/browser/storage.d.ts +2 -2
  59. package/dist/cjs/src/browser/storage.d.ts.map +1 -1
  60. package/dist/cjs/src/browser/storage.js +3 -3
  61. package/dist/cjs/src/browser/storage.js.map +1 -1
  62. package/dist/cjs/src/nextjs/GetUser.d.ts +1 -1
  63. package/dist/cjs/src/nextjs/GetUser.d.ts.map +1 -1
  64. package/dist/cjs/src/nextjs/GetUser.js +3 -3
  65. package/dist/cjs/src/nextjs/GetUser.js.map +1 -1
  66. package/dist/cjs/src/nextjs/config.d.ts.map +1 -1
  67. package/dist/cjs/src/nextjs/config.js +0 -2
  68. package/dist/cjs/src/nextjs/config.js.map +1 -1
  69. package/dist/cjs/src/nextjs/cookies.d.ts +4 -4
  70. package/dist/cjs/src/nextjs/cookies.d.ts.map +1 -1
  71. package/dist/cjs/src/nextjs/cookies.js +14 -11
  72. package/dist/cjs/src/nextjs/cookies.js.map +1 -1
  73. package/dist/cjs/src/nextjs/routeHandler.d.ts.map +1 -1
  74. package/dist/cjs/src/nextjs/routeHandler.js +1 -5
  75. package/dist/cjs/src/nextjs/routeHandler.js.map +1 -1
  76. package/dist/cjs/src/reactjs/hooks/index.d.ts +0 -1
  77. package/dist/cjs/src/reactjs/hooks/index.d.ts.map +1 -1
  78. package/dist/cjs/src/reactjs/hooks/index.js +1 -3
  79. package/dist/cjs/src/reactjs/hooks/index.js.map +1 -1
  80. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +1 -1
  81. package/dist/cjs/src/server/ServerAuthenticationResolver.js +2 -7
  82. package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +1 -1
  83. package/dist/cjs/src/server/login.d.ts +1 -1
  84. package/dist/cjs/src/server/login.d.ts.map +1 -1
  85. package/dist/cjs/src/server/login.js +2 -2
  86. package/dist/cjs/src/server/login.js.map +1 -1
  87. package/dist/cjs/src/services/AuthenticationService.d.ts.map +1 -1
  88. package/dist/cjs/src/services/AuthenticationService.js +6 -16
  89. package/dist/cjs/src/services/AuthenticationService.js.map +1 -1
  90. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +1 -1
  91. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +0 -2
  92. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +1 -1
  93. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -1
  94. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +2 -6
  95. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +1 -1
  96. package/dist/cjs/src/shared/lib/UserSession.d.ts +4 -4
  97. package/dist/cjs/src/shared/lib/UserSession.d.ts.map +1 -1
  98. package/dist/cjs/src/shared/lib/UserSession.js +4 -4
  99. package/dist/cjs/src/shared/lib/UserSession.js.map +1 -1
  100. package/dist/cjs/src/shared/lib/session.js +1 -1
  101. package/dist/cjs/src/shared/lib/session.js.map +1 -1
  102. package/dist/cjs/src/shared/lib/storage.d.ts +2 -2
  103. package/dist/cjs/src/shared/lib/storage.d.ts.map +1 -1
  104. package/dist/cjs/src/shared/lib/storage.js.map +1 -1
  105. package/dist/cjs/src/shared/lib/util.d.ts +4 -4
  106. package/dist/cjs/src/shared/lib/util.d.ts.map +1 -1
  107. package/dist/cjs/src/shared/lib/util.js +16 -15
  108. package/dist/cjs/src/shared/lib/util.js.map +1 -1
  109. package/dist/cjs/src/types.d.ts +2 -2
  110. package/dist/cjs/src/types.d.ts.map +1 -1
  111. package/dist/cjs/src/types.js.map +1 -1
  112. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  113. package/dist/esm/src/browser/storage.d.ts +2 -2
  114. package/dist/esm/src/browser/storage.d.ts.map +1 -1
  115. package/dist/esm/src/browser/storage.js +3 -3
  116. package/dist/esm/src/browser/storage.js.map +1 -1
  117. package/dist/esm/src/nextjs/GetUser.d.ts +1 -1
  118. package/dist/esm/src/nextjs/GetUser.d.ts.map +1 -1
  119. package/dist/esm/src/nextjs/GetUser.js +3 -3
  120. package/dist/esm/src/nextjs/GetUser.js.map +1 -1
  121. package/dist/esm/src/nextjs/config.d.ts.map +1 -1
  122. package/dist/esm/src/nextjs/config.js +0 -2
  123. package/dist/esm/src/nextjs/config.js.map +1 -1
  124. package/dist/esm/src/nextjs/cookies.d.ts +4 -4
  125. package/dist/esm/src/nextjs/cookies.d.ts.map +1 -1
  126. package/dist/esm/src/nextjs/cookies.js +14 -11
  127. package/dist/esm/src/nextjs/cookies.js.map +1 -1
  128. package/dist/esm/src/nextjs/routeHandler.d.ts.map +1 -1
  129. package/dist/esm/src/nextjs/routeHandler.js +1 -5
  130. package/dist/esm/src/nextjs/routeHandler.js.map +1 -1
  131. package/dist/esm/src/reactjs/hooks/index.d.ts +0 -1
  132. package/dist/esm/src/reactjs/hooks/index.d.ts.map +1 -1
  133. package/dist/esm/src/reactjs/hooks/index.js +0 -1
  134. package/dist/esm/src/reactjs/hooks/index.js.map +1 -1
  135. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +1 -1
  136. package/dist/esm/src/server/ServerAuthenticationResolver.js +2 -7
  137. package/dist/esm/src/server/ServerAuthenticationResolver.js.map +1 -1
  138. package/dist/esm/src/server/login.d.ts +1 -1
  139. package/dist/esm/src/server/login.d.ts.map +1 -1
  140. package/dist/esm/src/server/login.js +2 -2
  141. package/dist/esm/src/server/login.js.map +1 -1
  142. package/dist/esm/src/services/AuthenticationService.d.ts.map +1 -1
  143. package/dist/esm/src/services/AuthenticationService.js +6 -16
  144. package/dist/esm/src/services/AuthenticationService.js.map +1 -1
  145. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +1 -1
  146. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +0 -2
  147. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +1 -1
  148. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -1
  149. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +2 -6
  150. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +1 -1
  151. package/dist/esm/src/shared/lib/UserSession.d.ts +4 -4
  152. package/dist/esm/src/shared/lib/UserSession.d.ts.map +1 -1
  153. package/dist/esm/src/shared/lib/UserSession.js +4 -4
  154. package/dist/esm/src/shared/lib/UserSession.js.map +1 -1
  155. package/dist/esm/src/shared/lib/session.js +1 -1
  156. package/dist/esm/src/shared/lib/session.js.map +1 -1
  157. package/dist/esm/src/shared/lib/storage.d.ts +2 -2
  158. package/dist/esm/src/shared/lib/storage.d.ts.map +1 -1
  159. package/dist/esm/src/shared/lib/storage.js.map +1 -1
  160. package/dist/esm/src/shared/lib/util.d.ts +4 -4
  161. package/dist/esm/src/shared/lib/util.d.ts.map +1 -1
  162. package/dist/esm/src/shared/lib/util.js +16 -15
  163. package/dist/esm/src/shared/lib/util.js.map +1 -1
  164. package/dist/esm/src/types.d.ts +2 -2
  165. package/dist/esm/src/types.d.ts.map +1 -1
  166. package/dist/esm/src/types.js.map +1 -1
  167. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  168. package/dist/index.css +340 -0
  169. package/dist/index.css.map +1 -0
  170. package/dist/index.d.mts +5 -0
  171. package/dist/index.d.ts +5 -0
  172. package/dist/index.js +3 -0
  173. package/dist/index.js.map +1 -0
  174. package/dist/index.mjs +3 -0
  175. package/dist/index.mjs.map +1 -0
  176. package/dist/nextjs/client.css +340 -0
  177. package/dist/nextjs/client.css.map +1 -0
  178. package/dist/nextjs/client.d.mts +10 -0
  179. package/dist/nextjs/client.d.ts +10 -0
  180. package/dist/nextjs/client.js +185 -0
  181. package/dist/nextjs/client.js.map +1 -0
  182. package/dist/nextjs/client.mjs +185 -0
  183. package/dist/nextjs/client.mjs.map +1 -0
  184. package/dist/nextjs.d.mts +267 -0
  185. package/dist/nextjs.d.ts +267 -0
  186. package/dist/nextjs.js +315 -0
  187. package/dist/nextjs.js.map +1 -0
  188. package/dist/nextjs.mjs +315 -0
  189. package/dist/nextjs.mjs.map +1 -0
  190. package/dist/react.d.mts +65 -0
  191. package/dist/react.d.ts +65 -0
  192. package/dist/react.js +226 -0
  193. package/dist/react.js.map +1 -0
  194. package/dist/react.mjs +226 -0
  195. package/dist/react.mjs.map +1 -0
  196. package/dist/server.d.mts +35 -0
  197. package/dist/server.d.ts +35 -0
  198. package/dist/server.js +20 -0
  199. package/dist/server.js.map +1 -0
  200. package/dist/server.mjs +20 -0
  201. package/dist/server.mjs.map +1 -0
  202. package/dist/src/shared/components/LoadingIcon.d.ts.map +1 -1
  203. package/dist/src/shared/components/LoadingIcon.js +0 -6
  204. package/dist/src/shared/components/LoadingIcon.js.map +1 -1
  205. package/dist/storage-ANmRwpZ3.d.ts +25 -0
  206. package/dist/storage-B2eAQNdv.d.ts +25 -0
  207. package/dist/storage-BJPUpxhm.d.mts +25 -0
  208. package/dist/storage-BJyqsZwC.d.mts +25 -0
  209. package/dist/tsconfig.tsbuildinfo +1 -1
  210. package/dist/types-Bqm9OCZN.d.mts +22 -0
  211. package/dist/types-Bqm9OCZN.d.ts +22 -0
  212. package/dist/types-BxAubCqO.d.mts +58 -0
  213. package/dist/types-BxAubCqO.d.ts +58 -0
  214. package/dist/types-DOfl9w7j.d.mts +23 -0
  215. package/dist/types-DOfl9w7j.d.ts +23 -0
  216. package/dist/types-HdCjGldB.d.mts +58 -0
  217. package/dist/types-HdCjGldB.d.ts +58 -0
  218. package/package.json +1 -1
  219. package/src/browser/storage.ts +3 -3
  220. package/src/nextjs/GetUser.ts +3 -3
  221. package/src/nextjs/config.ts +0 -2
  222. package/src/nextjs/cookies.ts +14 -18
  223. package/src/nextjs/routeHandler.ts +1 -5
  224. package/src/reactjs/hooks/index.ts +0 -1
  225. package/src/server/ServerAuthenticationResolver.ts +2 -7
  226. package/src/server/login.ts +2 -2
  227. package/src/services/AuthenticationService.ts +6 -16
  228. package/src/shared/components/CivicAuthIframeContainer.tsx +0 -4
  229. package/src/shared/lib/GenericAuthenticationRefresher.ts +3 -8
  230. package/src/shared/lib/UserSession.ts +6 -6
  231. package/src/shared/lib/session.ts +1 -1
  232. package/src/shared/lib/storage.ts +2 -2
  233. package/src/shared/lib/util.ts +21 -18
  234. package/src/types.ts +2 -2
  235. package/test/unit/nextjs/getUser.test.ts +8 -8
  236. package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +0 -7
  237. package/test/unit/server/login.test.ts +20 -18
  238. package/test/unit/server/session.test.ts +4 -4
  239. package/test/unit/services/AuthenticationService.test.ts +3 -3
  240. package/test/unit/services/ServerAuthenticationResolver.test.ts +11 -6
  241. package/test/unit/shared/GenericAuthenticationRefresher.test.ts +4 -4
  242. package/test/unit/shared/UserSession.test.ts +6 -6
  243. package/test/unit/shared/storage.test.ts +6 -6
  244. package/dist/cjs/src/nextjs/client/index.d.ts +0 -2
  245. package/dist/cjs/src/nextjs/client/index.d.ts.map +0 -1
  246. package/dist/cjs/src/nextjs/client/index.js +0 -6
  247. package/dist/cjs/src/nextjs/client/index.js.map +0 -1
  248. package/dist/cjs/src/styles.css +0 -387
  249. package/dist/esm/src/nextjs/client/index.d.ts +0 -2
  250. package/dist/esm/src/nextjs/client/index.d.ts.map +0 -1
  251. package/dist/esm/src/nextjs/client/index.js +0 -2
  252. package/dist/esm/src/nextjs/client/index.js.map +0 -1
  253. package/dist/esm/src/styles.css +0 -387
  254. package/dist/src/nextjs/client/index.d.ts +0 -2
  255. package/dist/src/nextjs/client/index.d.ts.map +0 -1
  256. package/dist/src/nextjs/client/index.js +0 -2
  257. package/dist/src/nextjs/client/index.js.map +0 -1
  258. package/dist/test/unit/nextjs/routeHandler.test.d.ts +0 -2
  259. package/dist/test/unit/nextjs/routeHandler.test.d.ts.map +0 -1
  260. package/dist/test/unit/nextjs/routeHandler.test.js +0 -271
  261. package/dist/test/unit/nextjs/routeHandler.test.js.map +0 -1
@@ -0,0 +1,118 @@
1
+ import {
2
+ CookieStorage
3
+ } from "./chunk-AP4627CS.mjs";
4
+ import {
5
+ GenericUserSession,
6
+ clearTokens
7
+ } from "./chunk-4PLCDPEN.mjs";
8
+ import {
9
+ __async,
10
+ __spreadProps,
11
+ __spreadValues
12
+ } from "./chunk-RGHW4PYM.mjs";
13
+
14
+ // src/nextjs/cookies.ts
15
+ import { cookies } from "next/headers.js";
16
+ var createTokenCookies = (response, sessionData, config) => {
17
+ var _a, _b;
18
+ const maxAge = (_a = sessionData.expiresIn) != null ? _a : 3600;
19
+ const cookieOptions = __spreadProps(__spreadValues({}, (_b = config.cookies) == null ? void 0 : _b.tokens), {
20
+ maxAge
21
+ });
22
+ if (sessionData.accessToken) {
23
+ response.cookies.set("access_token", sessionData.accessToken, __spreadProps(__spreadValues({}, cookieOptions), {
24
+ httpOnly: true
25
+ }));
26
+ }
27
+ if (sessionData.idToken) {
28
+ response.cookies.set("id_token", sessionData.idToken, __spreadProps(__spreadValues({}, cookieOptions), {
29
+ httpOnly: true
30
+ }));
31
+ }
32
+ if (sessionData.refreshToken) {
33
+ response.cookies.set("refresh_token", sessionData.refreshToken, __spreadProps(__spreadValues({}, cookieOptions), {
34
+ httpOnly: true
35
+ }));
36
+ }
37
+ };
38
+ var createUserInfoCookie = (response, user, sessionData, config) => {
39
+ var _a, _b, _c;
40
+ if (!user) {
41
+ response.cookies.set("user", "", __spreadProps(__spreadValues({}, (_a = config.cookies) == null ? void 0 : _a.user), {
42
+ maxAge: 0
43
+ }));
44
+ return;
45
+ }
46
+ const maxAge = (_b = sessionData.expiresIn) != null ? _b : 3600;
47
+ const frontendUser = __spreadValues({}, user);
48
+ response.cookies.set("user", JSON.stringify(frontendUser), __spreadProps(__spreadValues({}, (_c = config.cookies) == null ? void 0 : _c.user), {
49
+ maxAge
50
+ }));
51
+ };
52
+ var clearAuthCookies = (config) => __async(void 0, null, function* () {
53
+ var _a;
54
+ const cookieStorage = new NextjsCookieStorage((_a = config.cookies) == null ? void 0 : _a.tokens);
55
+ clearTokens(cookieStorage);
56
+ const clientStorage = new NextjsClientStorage();
57
+ const userSession = new GenericUserSession(clientStorage);
58
+ userSession.set(null);
59
+ });
60
+ var NextjsCookieStorage = class extends CookieStorage {
61
+ constructor(config = {}) {
62
+ super({
63
+ secure: true,
64
+ httpOnly: true
65
+ });
66
+ this.config = config;
67
+ }
68
+ get(key) {
69
+ var _a;
70
+ return ((_a = cookies().get(key)) == null ? void 0 : _a.value) || null;
71
+ }
72
+ set(key, value) {
73
+ var _a;
74
+ const cookieSettings = ((_a = this.config) == null ? void 0 : _a[key]) || __spreadValues({}, this.settings);
75
+ console.log(
76
+ "NextjsCookieStorage.set",
77
+ JSON.stringify(
78
+ { key, value, config: this.config, cookieSettings },
79
+ null,
80
+ 2
81
+ )
82
+ );
83
+ cookies().set(key, value, cookieSettings);
84
+ }
85
+ };
86
+ var NextjsClientStorage = class extends CookieStorage {
87
+ constructor(config = {}) {
88
+ super(__spreadProps(__spreadValues({}, config), {
89
+ secure: false,
90
+ httpOnly: false
91
+ }));
92
+ }
93
+ get(key) {
94
+ var _a;
95
+ return ((_a = cookies().get(key)) == null ? void 0 : _a.value) || null;
96
+ }
97
+ set(key, value) {
98
+ cookies().set(key, value, this.settings);
99
+ }
100
+ };
101
+
102
+ // src/nextjs/utils.ts
103
+ var resolveCallbackUrl = (config, alternativeUrl) => {
104
+ var _a;
105
+ const baseUrl = (_a = config.appUrl) != null ? _a : alternativeUrl;
106
+ const callbackUrl = new URL(config == null ? void 0 : config.callbackUrl, baseUrl).toString();
107
+ return callbackUrl.toString();
108
+ };
109
+
110
+ export {
111
+ createTokenCookies,
112
+ createUserInfoCookie,
113
+ clearAuthCookies,
114
+ NextjsCookieStorage,
115
+ NextjsClientStorage,
116
+ resolveCallbackUrl
117
+ };
118
+ //# sourceMappingURL=chunk-MK7557NR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/nextjs/cookies.ts","../src/nextjs/utils.ts"],"sourcesContent":["import { SessionData, UnknownObject, User } from \"@/types\";\nimport { NextResponse } from \"next/server\";\nimport { AuthConfig } from \"@/nextjs/config\";\nimport { CookieStorage, CookieStorageSettings } from \"@/server\";\nimport { cookies } from \"next/headers.js\";\nimport { GenericUserSession } from \"@/shared/UserSession\";\nimport { clearTokens } from \"@/shared/util\";\nimport { CodeVerifier, OAuthTokens, TokensCookieConfig } from \"@/shared/types\";\n\n/**\n * Creates HTTP-only cookies for authentication tokens\n */\nconst createTokenCookies = (\n response: NextResponse,\n sessionData: SessionData,\n config: AuthConfig,\n) => {\n const maxAge = sessionData.expiresIn ?? 3600;\n const cookieOptions = {\n ...config.cookies?.tokens,\n maxAge,\n };\n\n if (sessionData.accessToken) {\n response.cookies.set(\"access_token\", sessionData.accessToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n\n if (sessionData.idToken) {\n response.cookies.set(\"id_token\", sessionData.idToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n\n if (sessionData.refreshToken) {\n response.cookies.set(\"refresh_token\", sessionData.refreshToken, {\n ...cookieOptions,\n httpOnly: true,\n });\n }\n};\n\n/**\n * Creates a client-readable cookie with user info\n */\nconst createUserInfoCookie = (\n response: NextResponse,\n user: User<UnknownObject> | null,\n sessionData: SessionData,\n config: AuthConfig,\n) => {\n if (!user) {\n response.cookies.set(\"user\", \"\", {\n ...config.cookies?.user,\n maxAge: 0,\n });\n return;\n }\n const maxAge = sessionData.expiresIn ?? 3600;\n\n // TODO select fields to include in the user cookie\n const frontendUser = {\n ...user,\n };\n\n // TODO make call to get user info from the\n // auth server /userinfo endpoint when it's available\n // then add to the default claims above\n\n response.cookies.set(\"user\", JSON.stringify(frontendUser), {\n ...config.cookies?.user,\n maxAge,\n });\n};\n\n/**\n * Clears all authentication cookies\n */\nconst clearAuthCookies = async (config: AuthConfig) => {\n // clear session, and tokens\n const cookieStorage = new NextjsCookieStorage(config.cookies?.tokens);\n clearTokens(cookieStorage);\n\n // clear user\n const clientStorage = new NextjsClientStorage();\n const userSession = new GenericUserSession(clientStorage);\n userSession.set(null);\n};\n\ntype KeySetter = OAuthTokens | CodeVerifier;\nclass NextjsCookieStorage extends CookieStorage {\n constructor(readonly config: Partial<TokensCookieConfig> = {}) {\n super({\n secure: true,\n httpOnly: true,\n });\n }\n\n get(key: string): string | null {\n return cookies().get(key)?.value || null;\n }\n\n set(key: KeySetter, value: string): void {\n const cookieSettings = this.config?.[key as KeySetter] || {\n ...this.settings,\n };\n console.log(\n \"NextjsCookieStorage.set\",\n JSON.stringify(\n { key, value, config: this.config, cookieSettings },\n null,\n 2,\n ),\n );\n cookies().set(key, value, cookieSettings);\n }\n}\n\nclass NextjsClientStorage extends CookieStorage {\n constructor(config: Partial<CookieStorageSettings> = {}) {\n super({\n ...config,\n secure: false,\n httpOnly: false,\n });\n }\n\n get(key: string): string | null {\n return cookies().get(key)?.value || null;\n }\n\n set(key: string, value: string): void {\n cookies().set(key, value, this.settings);\n }\n}\n\nexport {\n createTokenCookies,\n createUserInfoCookie,\n clearAuthCookies,\n NextjsCookieStorage,\n NextjsClientStorage,\n};\n","import { AuthConfigWithDefaults } from \"@/nextjs/config\";\n\nexport const resolveCallbackUrl = (\n config: AuthConfigWithDefaults,\n alternativeUrl?: string,\n): string => {\n const baseUrl = config.appUrl ?? alternativeUrl;\n const callbackUrl = new URL(config?.callbackUrl, baseUrl).toString();\n return callbackUrl.toString();\n};\n"],"mappings":";;;;;;;;;;;;;;AAIA,SAAS,eAAe;AAQxB,IAAM,qBAAqB,CACzB,UACA,aACA,WACG;AAhBL;AAiBE,QAAM,UAAS,iBAAY,cAAZ,YAAyB;AACxC,QAAM,gBAAgB,kCACjB,YAAO,YAAP,mBAAgB,SADC;AAAA,IAEpB;AAAA,EACF;AAEA,MAAI,YAAY,aAAa;AAC3B,aAAS,QAAQ,IAAI,gBAAgB,YAAY,aAAa,iCACzD,gBADyD;AAAA,MAE5D,UAAU;AAAA,IACZ,EAAC;AAAA,EACH;AAEA,MAAI,YAAY,SAAS;AACvB,aAAS,QAAQ,IAAI,YAAY,YAAY,SAAS,iCACjD,gBADiD;AAAA,MAEpD,UAAU;AAAA,IACZ,EAAC;AAAA,EACH;AAEA,MAAI,YAAY,cAAc;AAC5B,aAAS,QAAQ,IAAI,iBAAiB,YAAY,cAAc,iCAC3D,gBAD2D;AAAA,MAE9D,UAAU;AAAA,IACZ,EAAC;AAAA,EACH;AACF;AAKA,IAAM,uBAAuB,CAC3B,UACA,MACA,aACA,WACG;AArDL;AAsDE,MAAI,CAAC,MAAM;AACT,aAAS,QAAQ,IAAI,QAAQ,IAAI,kCAC5B,YAAO,YAAP,mBAAgB,OADY;AAAA,MAE/B,QAAQ;AAAA,IACV,EAAC;AACD;AAAA,EACF;AACA,QAAM,UAAS,iBAAY,cAAZ,YAAyB;AAGxC,QAAM,eAAe,mBAChB;AAOL,WAAS,QAAQ,IAAI,QAAQ,KAAK,UAAU,YAAY,GAAG,kCACtD,YAAO,YAAP,mBAAgB,OADsC;AAAA,IAEzD;AAAA,EACF,EAAC;AACH;AAKA,IAAM,mBAAmB,CAAO,WAAuB;AAjFvD;AAmFE,QAAM,gBAAgB,IAAI,qBAAoB,YAAO,YAAP,mBAAgB,MAAM;AACpE,cAAY,aAAa;AAGzB,QAAM,gBAAgB,IAAI,oBAAoB;AAC9C,QAAM,cAAc,IAAI,mBAAmB,aAAa;AACxD,cAAY,IAAI,IAAI;AACtB;AAGA,IAAM,sBAAN,cAAkC,cAAc;AAAA,EAC9C,YAAqB,SAAsC,CAAC,GAAG;AAC7D,UAAM;AAAA,MACJ,QAAQ;AAAA,MACR,UAAU;AAAA,IACZ,CAAC;AAJkB;AAAA,EAKrB;AAAA,EAEA,IAAI,KAA4B;AArGlC;AAsGI,aAAO,aAAQ,EAAE,IAAI,GAAG,MAAjB,mBAAoB,UAAS;AAAA,EACtC;AAAA,EAEA,IAAI,KAAgB,OAAqB;AAzG3C;AA0GI,UAAM,mBAAiB,UAAK,WAAL,mBAAc,SAAqB,mBACrD,KAAK;AAEV,YAAQ;AAAA,MACN;AAAA,MACA,KAAK;AAAA,QACH,EAAE,KAAK,OAAO,QAAQ,KAAK,QAAQ,eAAe;AAAA,QAClD;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,YAAQ,EAAE,IAAI,KAAK,OAAO,cAAc;AAAA,EAC1C;AACF;AAEA,IAAM,sBAAN,cAAkC,cAAc;AAAA,EAC9C,YAAY,SAAyC,CAAC,GAAG;AACvD,UAAM,iCACD,SADC;AAAA,MAEJ,QAAQ;AAAA,MACR,UAAU;AAAA,IACZ,EAAC;AAAA,EACH;AAAA,EAEA,IAAI,KAA4B;AAlIlC;AAmII,aAAO,aAAQ,EAAE,IAAI,GAAG,MAAjB,mBAAoB,UAAS;AAAA,EACtC;AAAA,EAEA,IAAI,KAAa,OAAqB;AACpC,YAAQ,EAAE,IAAI,KAAK,OAAO,KAAK,QAAQ;AAAA,EACzC;AACF;;;ACvIO,IAAM,qBAAqB,CAChC,QACA,mBACW;AALb;AAME,QAAM,WAAU,YAAO,WAAP,YAAiB;AACjC,QAAM,cAAc,IAAI,IAAI,iCAAQ,aAAa,OAAO,EAAE,SAAS;AACnE,SAAO,YAAY,SAAS;AAC9B;","names":[]}