@authticon/client 0.0.0-beta8 → 0.0.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 (248) hide show
  1. package/README.md +390 -0
  2. package/dist/authticon.d.ts +122 -0
  3. package/dist/authticon.d.ts.map +1 -0
  4. package/dist/authticon.js +24 -0
  5. package/dist/authticon.js.map +1 -0
  6. package/dist/browser.d.ts +128 -0
  7. package/dist/browser.d.ts.map +1 -0
  8. package/dist/browser.js +14 -0
  9. package/dist/browser.js.map +1 -0
  10. package/dist/clients/admin.d.ts +107 -0
  11. package/dist/clients/admin.d.ts.map +1 -0
  12. package/dist/clients/admin.js +133 -0
  13. package/dist/clients/admin.js.map +1 -0
  14. package/dist/clients/auth.d.ts +34 -0
  15. package/dist/clients/auth.d.ts.map +1 -0
  16. package/dist/clients/auth.js +67 -0
  17. package/dist/clients/auth.js.map +1 -0
  18. package/dist/clients/base.d.ts +8 -0
  19. package/dist/clients/base.d.ts.map +1 -0
  20. package/dist/clients/base.js +18 -0
  21. package/dist/clients/base.js.map +1 -0
  22. package/dist/clients/generated/client/client.gen.d.ts.map +1 -0
  23. package/dist/clients/generated/client/client.gen.js +236 -0
  24. package/dist/clients/generated/client/client.gen.js.map +1 -0
  25. package/dist/{generated → clients/generated}/client/index.d.ts +2 -2
  26. package/dist/clients/generated/client/index.d.ts.map +1 -0
  27. package/dist/{generated → clients/generated}/client/index.js +1 -1
  28. package/dist/clients/generated/client/index.js.map +1 -0
  29. package/dist/clients/generated/client/types.gen.d.ts +118 -0
  30. package/dist/clients/generated/client/types.gen.d.ts.map +1 -0
  31. package/dist/clients/generated/client/types.gen.js.map +1 -0
  32. package/dist/clients/generated/client/utils.gen.d.ts +34 -0
  33. package/dist/clients/generated/client/utils.gen.d.ts.map +1 -0
  34. package/dist/{generated → clients/generated}/client/utils.gen.js +117 -57
  35. package/dist/clients/generated/client/utils.gen.js.map +1 -0
  36. package/dist/clients/generated/client.gen.d.ts.map +1 -0
  37. package/dist/{generated → clients/generated}/client.gen.js +1 -1
  38. package/dist/clients/generated/client.gen.js.map +1 -0
  39. package/dist/clients/generated/core/auth.gen.d.ts.map +1 -0
  40. package/dist/clients/generated/core/auth.gen.js.map +1 -0
  41. package/dist/clients/generated/core/bodySerializer.gen.d.ts.map +1 -0
  42. package/dist/clients/generated/core/bodySerializer.gen.js.map +1 -0
  43. package/dist/clients/generated/core/params.gen.d.ts.map +1 -0
  44. package/dist/clients/generated/core/params.gen.js.map +1 -0
  45. package/dist/clients/generated/core/pathSerializer.gen.d.ts.map +1 -0
  46. package/dist/clients/generated/core/pathSerializer.gen.js.map +1 -0
  47. package/dist/clients/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
  48. package/dist/clients/generated/core/queryKeySerializer.gen.js.map +1 -0
  49. package/dist/clients/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  50. package/dist/clients/generated/core/serverSentEvents.gen.js.map +1 -0
  51. package/dist/clients/generated/core/types.gen.d.ts.map +1 -0
  52. package/dist/clients/generated/core/types.gen.js.map +1 -0
  53. package/dist/clients/generated/core/utils.gen.d.ts.map +1 -0
  54. package/dist/clients/generated/core/utils.gen.js.map +1 -0
  55. package/dist/clients/generated/index.d.ts +3 -0
  56. package/dist/clients/generated/index.d.ts.map +1 -0
  57. package/dist/clients/generated/index.js +3 -0
  58. package/dist/clients/generated/index.js.map +1 -0
  59. package/dist/clients/generated/sdk.gen.d.ts +178 -0
  60. package/dist/clients/generated/sdk.gen.d.ts.map +1 -0
  61. package/dist/clients/generated/sdk.gen.js +445 -0
  62. package/dist/clients/generated/sdk.gen.js.map +1 -0
  63. package/dist/clients/generated/types.gen.d.ts +1355 -0
  64. package/dist/clients/generated/types.gen.d.ts.map +1 -0
  65. package/dist/clients/generated/types.gen.js.map +1 -0
  66. package/dist/clients/user.d.ts +70 -0
  67. package/dist/clients/user.d.ts.map +1 -0
  68. package/dist/clients/user.js +72 -0
  69. package/dist/clients/user.js.map +1 -0
  70. package/dist/cookies/browser.d.ts +3 -0
  71. package/dist/cookies/browser.d.ts.map +1 -0
  72. package/dist/cookies/browser.js +31 -0
  73. package/dist/cookies/browser.js.map +1 -0
  74. package/dist/cookies/node.d.ts +8 -0
  75. package/dist/cookies/node.d.ts.map +1 -0
  76. package/dist/cookies/node.js +49 -0
  77. package/dist/cookies/node.js.map +1 -0
  78. package/dist/errors.d.ts +22 -0
  79. package/dist/errors.d.ts.map +1 -0
  80. package/dist/errors.js +40 -0
  81. package/dist/errors.js.map +1 -0
  82. package/dist/node.d.ts +163 -0
  83. package/dist/node.d.ts.map +1 -0
  84. package/dist/node.js +46 -0
  85. package/dist/node.js.map +1 -0
  86. package/dist/password.d.ts +8 -0
  87. package/dist/password.d.ts.map +1 -0
  88. package/dist/password.js +23 -0
  89. package/dist/password.js.map +1 -0
  90. package/dist/session.d.ts +99 -0
  91. package/dist/session.d.ts.map +1 -0
  92. package/dist/session.js +223 -0
  93. package/dist/session.js.map +1 -0
  94. package/dist/tokens.d.ts +27 -0
  95. package/dist/tokens.d.ts.map +1 -0
  96. package/dist/tokens.js +212 -0
  97. package/dist/tokens.js.map +1 -0
  98. package/dist/types.d.ts +48 -6
  99. package/dist/types.d.ts.map +1 -1
  100. package/package.json +23 -8
  101. package/dist/Acccount.d.ts +0 -9
  102. package/dist/Acccount.d.ts.map +0 -1
  103. package/dist/Acccount.js +0 -22
  104. package/dist/Acccount.js.map +0 -1
  105. package/dist/Auth.d.ts +0 -25
  106. package/dist/Auth.d.ts.map +0 -1
  107. package/dist/Auth.js +0 -43
  108. package/dist/Auth.js.map +0 -1
  109. package/dist/Authticon.d.ts +0 -85
  110. package/dist/Authticon.d.ts.map +0 -1
  111. package/dist/Authticon.js +0 -62
  112. package/dist/Authticon.js.map +0 -1
  113. package/dist/BrowserCookieAdapter.d.ts +0 -13
  114. package/dist/BrowserCookieAdapter.d.ts.map +0 -1
  115. package/dist/BrowserCookieAdapter.js +0 -18
  116. package/dist/BrowserCookieAdapter.js.map +0 -1
  117. package/dist/BrowserCookieAdapter.test.d.ts +0 -2
  118. package/dist/BrowserCookieAdapter.test.d.ts.map +0 -1
  119. package/dist/BrowserCookieAdapter.test.js +0 -145
  120. package/dist/BrowserCookieAdapter.test.js.map +0 -1
  121. package/dist/Challange.d.ts +0 -8
  122. package/dist/Challange.d.ts.map +0 -1
  123. package/dist/Challange.js +0 -24
  124. package/dist/Challange.js.map +0 -1
  125. package/dist/CookieStorageAdapter.d.ts +0 -14
  126. package/dist/CookieStorageAdapter.d.ts.map +0 -1
  127. package/dist/CookieStorageAdapter.js +0 -42
  128. package/dist/CookieStorageAdapter.js.map +0 -1
  129. package/dist/CookieStorageAdapter.test.d.ts +0 -2
  130. package/dist/CookieStorageAdapter.test.d.ts.map +0 -1
  131. package/dist/CookieStorageAdapter.test.js +0 -130
  132. package/dist/CookieStorageAdapter.test.js.map +0 -1
  133. package/dist/RemixCookieAdapter.d.ts +0 -12
  134. package/dist/RemixCookieAdapter.d.ts.map +0 -1
  135. package/dist/RemixCookieAdapter.js +0 -25
  136. package/dist/RemixCookieAdapter.js.map +0 -1
  137. package/dist/RemixCookieAdapter.test.d.ts +0 -2
  138. package/dist/RemixCookieAdapter.test.d.ts.map +0 -1
  139. package/dist/RemixCookieAdapter.test.js +0 -136
  140. package/dist/RemixCookieAdapter.test.js.map +0 -1
  141. package/dist/TokenManager.d.ts +0 -22
  142. package/dist/TokenManager.d.ts.map +0 -1
  143. package/dist/TokenManager.js +0 -45
  144. package/dist/TokenManager.js.map +0 -1
  145. package/dist/TokenManager.test.d.ts +0 -2
  146. package/dist/TokenManager.test.d.ts.map +0 -1
  147. package/dist/TokenManager.test.js +0 -118
  148. package/dist/TokenManager.test.js.map +0 -1
  149. package/dist/TokenStorage.d.ts +0 -17
  150. package/dist/TokenStorage.d.ts.map +0 -1
  151. package/dist/TokenStorage.js +0 -68
  152. package/dist/TokenStorage.js.map +0 -1
  153. package/dist/TokenStorage.test.d.ts +0 -2
  154. package/dist/TokenStorage.test.d.ts.map +0 -1
  155. package/dist/TokenStorage.test.js +0 -179
  156. package/dist/TokenStorage.test.js.map +0 -1
  157. package/dist/TokenVerifier.d.ts +0 -13
  158. package/dist/TokenVerifier.d.ts.map +0 -1
  159. package/dist/TokenVerifier.js +0 -61
  160. package/dist/TokenVerifier.js.map +0 -1
  161. package/dist/TokenVerifier.test.d.ts +0 -2
  162. package/dist/TokenVerifier.test.d.ts.map +0 -1
  163. package/dist/TokenVerifier.test.js +0 -117
  164. package/dist/TokenVerifier.test.js.map +0 -1
  165. package/dist/TwoFa.d.ts +0 -26
  166. package/dist/TwoFa.d.ts.map +0 -1
  167. package/dist/TwoFa.js +0 -55
  168. package/dist/TwoFa.js.map +0 -1
  169. package/dist/User.d.ts +0 -25
  170. package/dist/User.d.ts.map +0 -1
  171. package/dist/User.js +0 -27
  172. package/dist/User.js.map +0 -1
  173. package/dist/Users.d.ts +0 -57
  174. package/dist/Users.d.ts.map +0 -1
  175. package/dist/Users.js +0 -55
  176. package/dist/Users.js.map +0 -1
  177. package/dist/cookie-utils.d.ts +0 -5
  178. package/dist/cookie-utils.d.ts.map +0 -1
  179. package/dist/cookie-utils.js +0 -33
  180. package/dist/cookie-utils.js.map +0 -1
  181. package/dist/generated/client/client.gen.d.ts.map +0 -1
  182. package/dist/generated/client/client.gen.js +0 -135
  183. package/dist/generated/client/client.gen.js.map +0 -1
  184. package/dist/generated/client/index.d.ts.map +0 -1
  185. package/dist/generated/client/index.js.map +0 -1
  186. package/dist/generated/client/types.gen.d.ts +0 -89
  187. package/dist/generated/client/types.gen.d.ts.map +0 -1
  188. package/dist/generated/client/types.gen.js.map +0 -1
  189. package/dist/generated/client/utils.gen.d.ts +0 -15
  190. package/dist/generated/client/utils.gen.d.ts.map +0 -1
  191. package/dist/generated/client/utils.gen.js.map +0 -1
  192. package/dist/generated/client.gen.d.ts.map +0 -1
  193. package/dist/generated/client.gen.js.map +0 -1
  194. package/dist/generated/core/auth.gen.d.ts.map +0 -1
  195. package/dist/generated/core/auth.gen.js.map +0 -1
  196. package/dist/generated/core/bodySerializer.gen.d.ts.map +0 -1
  197. package/dist/generated/core/bodySerializer.gen.js.map +0 -1
  198. package/dist/generated/core/params.gen.d.ts.map +0 -1
  199. package/dist/generated/core/params.gen.js.map +0 -1
  200. package/dist/generated/core/pathSerializer.gen.d.ts.map +0 -1
  201. package/dist/generated/core/pathSerializer.gen.js.map +0 -1
  202. package/dist/generated/core/queryKeySerializer.gen.d.ts.map +0 -1
  203. package/dist/generated/core/queryKeySerializer.gen.js.map +0 -1
  204. package/dist/generated/core/serverSentEvents.gen.d.ts.map +0 -1
  205. package/dist/generated/core/serverSentEvents.gen.js.map +0 -1
  206. package/dist/generated/core/types.gen.d.ts.map +0 -1
  207. package/dist/generated/core/types.gen.js.map +0 -1
  208. package/dist/generated/core/utils.gen.d.ts.map +0 -1
  209. package/dist/generated/core/utils.gen.js.map +0 -1
  210. package/dist/generated/index.d.ts +0 -3
  211. package/dist/generated/index.d.ts.map +0 -1
  212. package/dist/generated/index.js +0 -3
  213. package/dist/generated/index.js.map +0 -1
  214. package/dist/generated/sdk.gen.d.ts +0 -58
  215. package/dist/generated/sdk.gen.d.ts.map +0 -1
  216. package/dist/generated/sdk.gen.js +0 -337
  217. package/dist/generated/sdk.gen.js.map +0 -1
  218. package/dist/generated/types.gen.d.ts +0 -1344
  219. package/dist/generated/types.gen.d.ts.map +0 -1
  220. package/dist/generated/types.gen.js.map +0 -1
  221. package/dist/index.d.ts +0 -9
  222. package/dist/index.d.ts.map +0 -1
  223. package/dist/index.js +0 -8
  224. package/dist/index.js.map +0 -1
  225. package/dist/user.d.ts +0 -49
  226. package/dist/user.d.ts.map +0 -1
  227. package/dist/user.js +0 -35
  228. package/dist/user.js.map +0 -1
  229. /package/dist/{generated → clients/generated}/client/client.gen.d.ts +0 -0
  230. /package/dist/{generated → clients/generated}/client/types.gen.js +0 -0
  231. /package/dist/{generated → clients/generated}/client.gen.d.ts +0 -0
  232. /package/dist/{generated → clients/generated}/core/auth.gen.d.ts +0 -0
  233. /package/dist/{generated → clients/generated}/core/auth.gen.js +0 -0
  234. /package/dist/{generated → clients/generated}/core/bodySerializer.gen.d.ts +0 -0
  235. /package/dist/{generated → clients/generated}/core/bodySerializer.gen.js +0 -0
  236. /package/dist/{generated → clients/generated}/core/params.gen.d.ts +0 -0
  237. /package/dist/{generated → clients/generated}/core/params.gen.js +0 -0
  238. /package/dist/{generated → clients/generated}/core/pathSerializer.gen.d.ts +0 -0
  239. /package/dist/{generated → clients/generated}/core/pathSerializer.gen.js +0 -0
  240. /package/dist/{generated → clients/generated}/core/queryKeySerializer.gen.d.ts +0 -0
  241. /package/dist/{generated → clients/generated}/core/queryKeySerializer.gen.js +0 -0
  242. /package/dist/{generated → clients/generated}/core/serverSentEvents.gen.d.ts +0 -0
  243. /package/dist/{generated → clients/generated}/core/serverSentEvents.gen.js +0 -0
  244. /package/dist/{generated → clients/generated}/core/types.gen.d.ts +0 -0
  245. /package/dist/{generated → clients/generated}/core/types.gen.js +0 -0
  246. /package/dist/{generated → clients/generated}/core/utils.gen.d.ts +0 -0
  247. /package/dist/{generated → clients/generated}/core/utils.gen.js +0 -0
  248. /package/dist/{generated → clients/generated}/types.gen.js +0 -0
package/dist/types.d.ts CHANGED
@@ -1,15 +1,22 @@
1
1
  import type { JWTPayload } from "jose";
2
+ import type { Logger } from "pino";
2
3
  export type { JWTPayload } from "jose";
4
+ export interface CacheAdapter {
5
+ readonly get: <T>(key: string) => T | undefined;
6
+ readonly set: <T>(key: string, value: T) => void;
7
+ readonly delete: (key: string) => void;
8
+ }
3
9
  export type TokenPair = {
4
10
  readonly accessToken: string;
5
11
  readonly refreshToken: string;
6
- readonly deviceId: string;
12
+ readonly deviceId?: string;
13
+ readonly adminRefreshToken?: string;
7
14
  };
8
15
  export type CookieSetOptions = {
9
16
  readonly path: string;
10
17
  readonly domain?: string | undefined;
11
18
  readonly secure: boolean;
12
- readonly sameSite: "Strict" | "Lax" | "None";
19
+ readonly sameSite: "strict" | "lax" | "none";
13
20
  readonly maxAge: number;
14
21
  };
15
22
  export type CookieRemoveOptions = {
@@ -25,27 +32,62 @@ export type TokenStorageOptions = {
25
32
  readonly accessTokenName?: string;
26
33
  readonly refreshTokenName?: string;
27
34
  readonly deviceIdName?: string;
35
+ readonly rememberTokenName?: string;
36
+ readonly adminRefreshTokenName?: string;
28
37
  readonly path?: string;
29
38
  readonly domain?: string;
30
39
  readonly secure?: boolean;
31
- readonly sameSite?: "Strict" | "Lax" | "None";
40
+ readonly sameSite?: "strict" | "lax" | "none";
32
41
  readonly accessTokenMaxAge?: number;
33
42
  readonly refreshTokenMaxAge?: number;
43
+ readonly rememberTokenMaxAge?: number;
44
+ readonly adminRefreshTokenMaxAge?: number;
34
45
  };
35
46
  export type TokenManagerOptions = {
36
47
  readonly jwksUrl: string;
37
48
  readonly jwksCacheTtlMs?: number | undefined;
38
49
  readonly cookies?: CookieAdapter | undefined;
39
50
  readonly storage?: TokenStorageOptions | undefined;
51
+ readonly cache?: CacheAdapter | undefined;
40
52
  };
53
+ export type Challenge = "verifyTwoFa" | "setTwoFa" | "resetPassword" | "setPassword";
54
+ /** @deprecated Use Challenge instead */
55
+ export type Challange = Challenge;
41
56
  export type AccessTokenPayload<Payload extends Record<string, any>> = JWTPayload & Payload & {
42
57
  authticon: {
43
58
  sessionId: string;
44
59
  userId: string;
45
60
  projectId: string;
46
- role: 'guest' | 'user';
47
- twoFaEnabled: boolean;
48
- twoFaType: 'email' | 'sms' | 'app';
61
+ role: "guest" | "user";
62
+ challenges: Challenge[];
63
+ loggedByAdminId?: string;
49
64
  };
50
65
  };
66
+ export type DefaultAccessTokenPayload = {
67
+ id: string;
68
+ email: string;
69
+ firstName: string;
70
+ lastName: string;
71
+ };
72
+ export type SessionUser<Payload extends Record<string, any> = DefaultAccessTokenPayload> = Payload & {
73
+ readonly sessionId: string;
74
+ readonly projectId: string;
75
+ readonly challenges: Challenge[];
76
+ readonly raw: AccessTokenPayload<Payload>;
77
+ };
78
+ export type AuthticonOptions = {
79
+ readonly projectId: string;
80
+ readonly baseUrl?: string;
81
+ readonly jwksUrl?: string;
82
+ readonly jwksCacheTtlMs?: number;
83
+ readonly cache?: CacheAdapter;
84
+ readonly logger?: Logger;
85
+ };
86
+ export type SessionOptions = {
87
+ request: Request;
88
+ tokenStorage?: TokenStorageOptions;
89
+ } | {
90
+ cookies: CookieAdapter;
91
+ tokenStorage?: TokenStorageOptions;
92
+ };
51
93
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,YAAY,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/E,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACvE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAIF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,UAAU,GAAG,OAAO,GAAG;IAC3F,SAAS,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;QACtB,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;KACpC,CAAC;CACH,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,15 +1,29 @@
1
1
  {
2
2
  "name": "@authticon/client",
3
- "version": "0.0.0-beta8",
3
+ "version": "0.0.3",
4
4
  "description": "Official Authticon API client for Node.js",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
- "main": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
7
+ "main": "./dist/node.js",
8
+ "types": "./dist/node.d.ts",
9
9
  "exports": {
10
10
  ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js"
11
+ "browser": {
12
+ "types": "./dist/browser.d.ts",
13
+ "import": "./dist/browser.js"
14
+ },
15
+ "default": {
16
+ "types": "./dist/node.d.ts",
17
+ "import": "./dist/node.js"
18
+ }
19
+ },
20
+ "./browser": {
21
+ "types": "./dist/browser.d.ts",
22
+ "import": "./dist/browser.js"
23
+ },
24
+ "./node": {
25
+ "types": "./dist/node.d.ts",
26
+ "import": "./dist/node.js"
13
27
  }
14
28
  },
15
29
  "files": [
@@ -35,19 +49,20 @@
35
49
  "registry": "https://registry.npmjs.org/"
36
50
  },
37
51
  "scripts": {
38
- "codegen:auto": "wget http://authticon-krs.dev.kubeticon.com/documentation/yaml -O openapi.yaml && npm run codegen && rm openapi.yaml",
52
+ "codegen:auto": "wget http://authticon-krs.dev.kubeticon.com/documentation/yaml -O openapi.yaml && npm run codegen ",
39
53
  "codegen": "openapi-ts",
40
54
  "build": "tsc",
55
+ "dev": "tsc --watch",
41
56
  "test": "vitest",
42
57
  "prepublishOnly": "npm run build"
43
58
  },
44
59
  "dependencies": {
45
- "axios": "^1.13.6",
60
+ "@types/pino": "^7.0.5",
46
61
  "cookie": "^1.1.1",
47
62
  "jose": "^6.2.0"
48
63
  },
49
64
  "devDependencies": {
50
- "@hey-api/client-axios": "^0.9.1",
65
+ "@hey-api/client-fetch": "^0.9.0",
51
66
  "@hey-api/openapi-ts": "0.94.1",
52
67
  "@types/node": "^25.5.0",
53
68
  "dotenv": "^17.3.1",
@@ -1,9 +0,0 @@
1
- import type { Client } from "./generated/client/index.js";
2
- import { type PostApiV1AuthEmailChangeData, type PostApiV1AuthPasswordChangeData } from "./generated/index.js";
3
- export declare class Account {
4
- private readonly client;
5
- constructor(client: Client);
6
- changeEmail(params: PostApiV1AuthEmailChangeData['body']): Promise<null>;
7
- changePassword(params: PostApiV1AuthPasswordChangeData['body']): Promise<null>;
8
- }
9
- //# sourceMappingURL=Acccount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Acccount.d.ts","sourceRoot":"","sources":["../src/Acccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAyD,KAAK,4BAA4B,EAAE,KAAK,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAEtK,qBAAa,OAAO;IACJ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,WAAW,CAAC,MAAM,EAAE,4BAA4B,CAAC,MAAM,CAAC;IAQxD,cAAc,CAAC,MAAM,EAAE,+BAA+B,CAAC,MAAM,CAAC;CAOvE"}
package/dist/Acccount.js DELETED
@@ -1,22 +0,0 @@
1
- import { postApiV1AuthEmailChange, postApiV1AuthPasswordChange } from "./generated/index.js";
2
- export class Account {
3
- client;
4
- constructor(client) {
5
- this.client = client;
6
- }
7
- async changeEmail(params) {
8
- const { data } = await postApiV1AuthEmailChange({
9
- client: this.client,
10
- body: params
11
- });
12
- return data;
13
- }
14
- async changePassword(params) {
15
- const { data } = await postApiV1AuthPasswordChange({
16
- client: this.client,
17
- body: params
18
- });
19
- return data;
20
- }
21
- }
22
- //# sourceMappingURL=Acccount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Acccount.js","sourceRoot":"","sources":["../src/Acccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAA2E,MAAM,sBAAsB,CAAC;AAEtK,MAAM,OAAO,OAAO;IACa;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,WAAW,CAAC,MAA4C;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,wBAAwB,CAAC;YAC5C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,MAAM;SACf,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAA+C;QAChE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,2BAA2B,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,MAAM;SACf,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
package/dist/Auth.d.ts DELETED
@@ -1,25 +0,0 @@
1
- import type { Client } from "./generated/client/index.js";
2
- import type { PostApiV1AuthLoginData, PostApiV1AuthRegisterData } from "./generated/types.gen.js";
3
- export declare class Auth {
4
- private readonly client;
5
- constructor(client: Client);
6
- login(params: PostApiV1AuthLoginData["body"]): Promise<{
7
- accessToken: string;
8
- refreshToken: string;
9
- deviceId: string;
10
- } | {
11
- twoFaType: "email" | "sms" | "app";
12
- twoFaToken: string;
13
- deviceId: string;
14
- }>;
15
- register(params: PostApiV1AuthRegisterData['body']): Promise<{
16
- userId: string;
17
- }>;
18
- logout(refreshToken: string): Promise<{
19
- success: boolean;
20
- }>;
21
- refresh(refreshToken: string): Promise<{
22
- accessToken: string;
23
- }>;
24
- }
25
- //# sourceMappingURL=Auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../src/Auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAGlG,qBAAa,IAAI;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;;;;;;;;;IAQ5C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC;;;IAQlD,MAAM,CAAC,YAAY,EAAE,MAAM;;;IAU3B,OAAO,CAAC,YAAY,EAAE,MAAM;;;CASnC"}
package/dist/Auth.js DELETED
@@ -1,43 +0,0 @@
1
- import { postApiV1AuthLogin, postApiV1AuthLogout, postApiV1AuthRegister, postApiV1AuthTokenRefresh } from "./generated/sdk.gen.js";
2
- export class Auth {
3
- client;
4
- constructor(client) {
5
- this.client = client;
6
- }
7
- async login(params) {
8
- const { data } = await postApiV1AuthLogin({
9
- client: this.client,
10
- body: params
11
- });
12
- return data;
13
- }
14
- ;
15
- async register(params) {
16
- const { data } = await postApiV1AuthRegister({
17
- client: this.client,
18
- body: params
19
- });
20
- return data;
21
- }
22
- ;
23
- async logout(refreshToken) {
24
- const { data } = await postApiV1AuthLogout({
25
- client: this.client,
26
- body: {
27
- refreshToken
28
- }
29
- });
30
- return data;
31
- }
32
- ;
33
- async refresh(refreshToken) {
34
- const { data } = await postApiV1AuthTokenRefresh({
35
- client: this.client,
36
- body: {
37
- refreshToken
38
- }
39
- });
40
- return data;
41
- }
42
- }
43
- //# sourceMappingURL=Auth.js.map
package/dist/Auth.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../src/Auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAInI,MAAM,OAAO,IAAI;IACc;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,KAAK,CAAC,MAAsC;QAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAkB,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,QAAQ,CAAC,MAAyC;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,qBAAqB,CAAC;YAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE;gBACJ,YAAY;aACb;SACF,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,YAAoB;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,yBAAyB,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE;gBACJ,YAAY;aACb;SACF,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,85 +0,0 @@
1
- import { Account } from "./Acccount.js";
2
- import { Auth } from "./Auth.js";
3
- import { Challange } from "./Challange.js";
4
- import { TokenManager } from "./TokenManager.js";
5
- import { TwoFa } from "./TwoFa.js";
6
- import type { CookieAdapter, TokenStorageOptions } from "./types.js";
7
- import { Users } from "./Users.js";
8
- type ClientOptions<C extends CookieAdapter> = {
9
- readonly apiKey: string;
10
- readonly baseURL?: string;
11
- readonly jwksUrl?: string;
12
- readonly jwksCacheTtlMs?: number;
13
- readonly cookies?: C;
14
- readonly tokenStorage?: TokenStorageOptions;
15
- };
16
- export declare class Authticon<Payload extends Record<string, any>, C extends CookieAdapter> {
17
- private readonly client;
18
- readonly auth: Auth;
19
- readonly users: Users;
20
- readonly tokens: TokenManager<Payload>;
21
- readonly twoFa: TwoFa;
22
- readonly account: Account;
23
- readonly challange: Challange;
24
- private readonly cookiesAdapter?;
25
- constructor(options: ClientOptions<C>);
26
- getUser(accessToken?: string): Promise<import("./types.js").JWTPayload & Payload & {
27
- auth: {
28
- logout: () => Promise<{
29
- success: boolean;
30
- }>;
31
- refresh: () => Promise<{
32
- accessToken: string;
33
- }>;
34
- };
35
- account: {
36
- changeEmail: (newEmail: string) => Promise<null>;
37
- changePassword: (newPassword: string, oldPassword: string) => Promise<null>;
38
- };
39
- twoFa: {
40
- enabled: boolean;
41
- type: "email" | "sms" | "app";
42
- getSecret: () => Promise<{
43
- secret: string;
44
- uri: string;
45
- }>;
46
- enablePhone: () => Promise<{
47
- success: boolean;
48
- }>;
49
- enableEmail: () => Promise<{
50
- success: boolean;
51
- }>;
52
- enableApp: (token: string) => Promise<{
53
- success: boolean;
54
- }>;
55
- disable: (token: string) => Promise<{
56
- success: boolean;
57
- }>;
58
- };
59
- challange: {
60
- startPhone: (phone: string) => Promise<null>;
61
- completePhone: (phone: string, code: string) => Promise<null>;
62
- };
63
- authticon: {
64
- sessionId: string;
65
- userId: string;
66
- projectId: string;
67
- role: "guest" | "user";
68
- twoFaEnabled: boolean;
69
- twoFaType: "email" | "sms" | "app";
70
- };
71
- }>;
72
- cookies(): C;
73
- login(email: string, password: string, userAgent: string): Promise<{
74
- accessToken: string;
75
- refreshToken: string;
76
- deviceId: string;
77
- } | {
78
- twoFaType: "email" | "sms" | "app";
79
- twoFaToken: string;
80
- deviceId: string;
81
- }>;
82
- }
83
- export declare function createAuthticon<Payload extends Record<string, any> = Record<string, any>, C extends CookieAdapter = CookieAdapter>(options: ClientOptions<C>): Authticon<Payload, C>;
84
- export {};
85
- //# sourceMappingURL=Authticon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Authticon.d.ts","sourceRoot":"","sources":["../src/Authticon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,KAAK,aAAa,CAAC,CAAC,SAAS,aAAa,IAAI;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;CAC7C,CAAC;AAEF,qBAAa,SAAS,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,aAAa;IACjF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAG;gBAEvB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IA4BxB,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKlC,OAAO;IAOD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;;;;;CAOtE;AAED,wBAAgB,eAAe,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,yBAE5J"}
package/dist/Authticon.js DELETED
@@ -1,62 +0,0 @@
1
- import { Account } from "./Acccount.js";
2
- import { Auth } from "./Auth.js";
3
- import { Challange } from "./Challange.js";
4
- import { createClient } from "./generated/client/index.js";
5
- import { TokenManager } from "./TokenManager.js";
6
- import { TwoFa } from "./TwoFa.js";
7
- import { createAuthticonUser } from "./user.js";
8
- import { Users } from "./Users.js";
9
- export class Authticon {
10
- client;
11
- auth;
12
- users;
13
- tokens;
14
- twoFa;
15
- account;
16
- challange;
17
- cookiesAdapter;
18
- constructor(options) {
19
- const baseURL = options.baseURL ?? "https://authticon.com";
20
- this.client = createClient({
21
- baseURL,
22
- headers: {
23
- "x-api-key": options.apiKey,
24
- },
25
- throwOnError: true,
26
- });
27
- this.cookiesAdapter = options.cookies;
28
- this.auth = new Auth(this.client);
29
- this.users = new Users(this.client);
30
- this.twoFa = new TwoFa(this.client);
31
- this.account = new Account(this.client);
32
- this.challange = new Challange(this.client);
33
- const jwksUrl = options.jwksUrl ?? `${new URL(baseURL).origin}/.well-known/jwks.json`;
34
- this.tokens = new TokenManager(this.client, {
35
- jwksUrl,
36
- jwksCacheTtlMs: options.jwksCacheTtlMs,
37
- cookies: options.cookies,
38
- storage: options.tokenStorage,
39
- });
40
- }
41
- async getUser(accessToken) {
42
- const payload = await this.tokens.verifyToken(accessToken);
43
- return createAuthticonUser(this, payload);
44
- }
45
- cookies() {
46
- if (!this.cookiesAdapter) {
47
- throw new Error("Cookies not set");
48
- }
49
- return this.cookiesAdapter;
50
- }
51
- async login(email, password, userAgent) {
52
- const result = await this.auth.login({ email, password, userAgent });
53
- if ("accessToken" in result) {
54
- this.tokens.save(result);
55
- }
56
- return result;
57
- }
58
- }
59
- export function createAuthticon(options) {
60
- return new Authticon(options);
61
- }
62
- //# sourceMappingURL=Authticon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Authticon.js","sourceRoot":"","sources":["../src/Authticon.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { CookieAdapter, CookieRemoveOptions, CookieSetOptions } from "./types.js";
2
- type DocumentLike = {
3
- cookie: string;
4
- };
5
- export declare class BrowserCookieAdapter implements CookieAdapter {
6
- private readonly doc;
7
- constructor(doc?: DocumentLike);
8
- readonly get: (name: string) => string | null;
9
- readonly set: (name: string, value: string, options: CookieSetOptions) => void;
10
- readonly remove: (name: string, options: CookieRemoveOptions) => void;
11
- }
12
- export {};
13
- //# sourceMappingURL=BrowserCookieAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserCookieAdapter.d.ts","sourceRoot":"","sources":["../src/BrowserCookieAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAOpB,KAAK,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,qBAAa,oBAAqB,YAAW,aAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,GAAE,YAAuB;IAEzD,QAAQ,CAAC,GAAG,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAAI,CAG1C;IAEF,QAAQ,CAAC,GAAG,GACV,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,SAAS,gBAAgB,KACxB,IAAI,CAEL;IAEF,QAAQ,CAAC,MAAM,GAAI,MAAM,MAAM,EAAE,SAAS,mBAAmB,KAAG,IAAI,CAElE;CACH"}
@@ -1,18 +0,0 @@
1
- import { parseCookies, serializeCookie, serializeRemoveCookie, } from "./cookie-utils.js";
2
- export class BrowserCookieAdapter {
3
- doc;
4
- constructor(doc = document) {
5
- this.doc = doc;
6
- }
7
- get = (name) => {
8
- const cookies = parseCookies(this.doc.cookie);
9
- return cookies.get(name) ?? null;
10
- };
11
- set = (name, value, options) => {
12
- this.doc.cookie = serializeCookie(name, value, options);
13
- };
14
- remove = (name, options) => {
15
- this.doc.cookie = serializeRemoveCookie(name, options);
16
- };
17
- }
18
- //# sourceMappingURL=BrowserCookieAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserCookieAdapter.js","sourceRoot":"","sources":["../src/BrowserCookieAdapter.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,MAAoB,QAAQ;QAA5B,QAAG,GAAH,GAAG,CAAyB;IAAG,CAAC;IAEpD,GAAG,GAAG,CAAC,IAAY,EAAiB,EAAE;QAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACnC,CAAC,CAAC;IAEO,GAAG,GAAG,CACb,IAAY,EACZ,KAAa,EACb,OAAyB,EACnB,EAAE;QACR,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEO,MAAM,GAAG,CAAC,IAAY,EAAE,OAA4B,EAAQ,EAAE;QACrE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC,CAAC;CACH"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=BrowserCookieAdapter.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserCookieAdapter.test.d.ts","sourceRoot":"","sources":["../src/BrowserCookieAdapter.test.ts"],"names":[],"mappings":""}
@@ -1,145 +0,0 @@
1
- import { describe, it, expect, beforeEach } from "vitest";
2
- import { BrowserCookieAdapter } from "./BrowserCookieAdapter.js";
3
- const createMockDocument = (initialCookie = "") => {
4
- const cookies = new Map();
5
- if (initialCookie) {
6
- initialCookie.split(";").forEach((pair) => {
7
- const [key, ...rest] = pair.trim().split("=");
8
- if (key)
9
- cookies.set(key, rest.join("="));
10
- });
11
- }
12
- return {
13
- get cookie() {
14
- return [...cookies.entries()]
15
- .map(([k, v]) => `${k}=${v}`)
16
- .join("; ");
17
- },
18
- set cookie(value) {
19
- const [nameValue] = value.split(";");
20
- const eqIndex = nameValue.indexOf("=");
21
- const name = nameValue.slice(0, eqIndex);
22
- const val = nameValue.slice(eqIndex + 1);
23
- if (value.includes("Max-Age=0")) {
24
- cookies.delete(name);
25
- }
26
- else {
27
- cookies.set(name, val);
28
- }
29
- },
30
- };
31
- };
32
- describe("BrowserCookieAdapter", () => {
33
- let doc;
34
- beforeEach(() => {
35
- doc = createMockDocument();
36
- });
37
- describe("get", () => {
38
- it("should return cookie value by name", () => {
39
- doc = createMockDocument("token=abc123; other=xyz");
40
- const adapter = new BrowserCookieAdapter(doc);
41
- expect(adapter.get("token")).toBe("abc123");
42
- });
43
- it("should return null for missing cookie", () => {
44
- doc = createMockDocument("other=xyz");
45
- const adapter = new BrowserCookieAdapter(doc);
46
- expect(adapter.get("token")).toBeNull();
47
- });
48
- it("should decode URI-encoded values", () => {
49
- doc = createMockDocument("token=a%3Db%3Bc");
50
- const adapter = new BrowserCookieAdapter(doc);
51
- expect(adapter.get("token")).toBe("a=b;c");
52
- });
53
- it("should return null when cookie string is empty", () => {
54
- const adapter = new BrowserCookieAdapter(doc);
55
- expect(adapter.get("token")).toBeNull();
56
- });
57
- });
58
- describe("set", () => {
59
- it("should write cookie with all options", () => {
60
- const writes = [];
61
- const trackingDoc = {
62
- _c: "",
63
- get cookie() { return this._c; },
64
- set cookie(v) { writes.push(v); this._c = v; },
65
- };
66
- const adapter = new BrowserCookieAdapter(trackingDoc);
67
- adapter.set("token", "abc", {
68
- path: "/app",
69
- domain: ".example.com",
70
- secure: true,
71
- sameSite: "Strict",
72
- maxAge: 3600,
73
- });
74
- expect(writes[0]).toContain("token=abc");
75
- expect(writes[0]).toContain("Path=/app");
76
- expect(writes[0]).toContain("Domain=.example.com");
77
- expect(writes[0]).toContain("Secure");
78
- expect(writes[0]).toContain("SameSite=Strict");
79
- expect(writes[0]).toContain("Max-Age=3600");
80
- });
81
- it("should omit Secure when secure is false", () => {
82
- const writes = [];
83
- const trackingDoc = {
84
- _c: "",
85
- get cookie() { return this._c; },
86
- set cookie(v) { writes.push(v); this._c = v; },
87
- };
88
- const adapter = new BrowserCookieAdapter(trackingDoc);
89
- adapter.set("token", "abc", {
90
- path: "/",
91
- secure: false,
92
- sameSite: "Lax",
93
- maxAge: 900,
94
- });
95
- expect(writes[0]).not.toContain("Secure");
96
- });
97
- it("should omit Domain when not specified", () => {
98
- const writes = [];
99
- const trackingDoc = {
100
- _c: "",
101
- get cookie() { return this._c; },
102
- set cookie(v) { writes.push(v); this._c = v; },
103
- };
104
- const adapter = new BrowserCookieAdapter(trackingDoc);
105
- adapter.set("token", "abc", {
106
- path: "/",
107
- secure: true,
108
- sameSite: "Lax",
109
- maxAge: 900,
110
- });
111
- expect(writes[0]).not.toContain("Domain");
112
- });
113
- it("should encode special characters in value", () => {
114
- const adapter = new BrowserCookieAdapter(doc);
115
- adapter.set("token", "a=b;c", {
116
- path: "/",
117
- secure: true,
118
- sameSite: "Lax",
119
- maxAge: 900,
120
- });
121
- expect(adapter.get("token")).toBe("a=b;c");
122
- });
123
- });
124
- describe("remove", () => {
125
- it("should remove cookie by setting Max-Age=0", () => {
126
- doc = createMockDocument("token=abc");
127
- const adapter = new BrowserCookieAdapter(doc);
128
- adapter.remove("token", { path: "/" });
129
- expect(adapter.get("token")).toBeNull();
130
- });
131
- it("should include domain in removal cookie", () => {
132
- const writes = [];
133
- const trackingDoc = {
134
- _c: "token=abc",
135
- get cookie() { return this._c; },
136
- set cookie(v) { writes.push(v); this._c = v; },
137
- };
138
- const adapter = new BrowserCookieAdapter(trackingDoc);
139
- adapter.remove("token", { path: "/", domain: ".example.com" });
140
- expect(writes[0]).toContain("Max-Age=0");
141
- expect(writes[0]).toContain("Domain=.example.com");
142
- });
143
- });
144
- });
145
- //# sourceMappingURL=BrowserCookieAdapter.test.js.map