@authticon/client 0.0.0-beta9 → 0.0.4

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 +418 -0
  2. package/dist/authticon.d.ts +147 -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 +153 -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 +43 -0
  15. package/dist/clients/auth.d.ts.map +1 -0
  16. package/dist/clients/auth.js +83 -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 +202 -0
  60. package/dist/clients/generated/sdk.gen.d.ts.map +1 -0
  61. package/dist/clients/generated/sdk.gen.js +510 -0
  62. package/dist/clients/generated/sdk.gen.js.map +1 -0
  63. package/dist/clients/generated/types.gen.d.ts +1541 -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 +86 -0
  67. package/dist/clients/user.d.ts.map +1 -0
  68. package/dist/clients/user.js +96 -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 +172 -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 +115 -0
  91. package/dist/session.d.ts.map +1 -0
  92. package/dist/session.js +240 -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 -87
  110. package/dist/Authticon.d.ts.map +0 -1
  111. package/dist/Authticon.js +0 -74
  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 -24
  142. package/dist/TokenManager.d.ts.map +0 -1
  143. package/dist/TokenManager.js +0 -53
  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 -18
  150. package/dist/TokenStorage.d.ts.map +0 -1
  151. package/dist/TokenStorage.js +0 -69
  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 -10
  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 -50
  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/tokens.js ADDED
@@ -0,0 +1,212 @@
1
+ import * as jose from "jose";
2
+ import { decodeProtectedHeader, importJWK, jwtVerify, } from "jose";
3
+ import { AuthticonError, AuthticonTokenError } from "./errors.js";
4
+ // --- In-memory cache ---
5
+ export const createInMemoryCacheAdapter = () => {
6
+ const store = new Map();
7
+ return {
8
+ get: (key) => store.get(key),
9
+ set: (key, value) => {
10
+ store.set(key, value);
11
+ },
12
+ delete: (key) => {
13
+ store.delete(key);
14
+ },
15
+ };
16
+ };
17
+ // --- Token storage ---
18
+ const DEFAULT_ACCESS_TOKEN_NAME = "access_token";
19
+ const DEFAULT_REFRESH_TOKEN_NAME = "refresh_token";
20
+ const DEFAULT_DEVICE_ID_NAME = "device_id";
21
+ const DEFAULT_ADMIN_REFRESH_TOKEN_NAME = "admin_refresh_token";
22
+ const DEFAULT_ACCESS_TOKEN_MAX_AGE = 900;
23
+ const DEFAULT_REFRESH_TOKEN_MAX_AGE = 2_592_000;
24
+ const DEFAULT_ADMIN_REFRESH_TOKEN_MAX_AGE = 2_592_000;
25
+ export const createTokenStorage = (cookies, options = {}, logger) => {
26
+ const accessName = options.accessTokenName ?? DEFAULT_ACCESS_TOKEN_NAME;
27
+ const refreshName = options.refreshTokenName ?? DEFAULT_REFRESH_TOKEN_NAME;
28
+ const deviceIdName = options.deviceIdName ?? DEFAULT_DEVICE_ID_NAME;
29
+ const adminRefreshName = options.adminRefreshTokenName ?? DEFAULT_ADMIN_REFRESH_TOKEN_NAME;
30
+ const path = options.path ?? "/";
31
+ const domain = options.domain;
32
+ const secure = options.secure ?? true;
33
+ const sameSite = options.sameSite ?? "lax";
34
+ const setOpts = {
35
+ access: {
36
+ path,
37
+ domain,
38
+ secure,
39
+ sameSite,
40
+ maxAge: options.accessTokenMaxAge ?? DEFAULT_ACCESS_TOKEN_MAX_AGE,
41
+ },
42
+ refresh: {
43
+ path,
44
+ domain,
45
+ secure,
46
+ sameSite,
47
+ maxAge: options.refreshTokenMaxAge ?? DEFAULT_REFRESH_TOKEN_MAX_AGE,
48
+ },
49
+ deviceId: {
50
+ path,
51
+ domain,
52
+ secure,
53
+ sameSite,
54
+ maxAge: options.refreshTokenMaxAge ?? DEFAULT_REFRESH_TOKEN_MAX_AGE,
55
+ },
56
+ adminRefresh: {
57
+ path,
58
+ domain,
59
+ secure,
60
+ sameSite,
61
+ maxAge: options.adminRefreshTokenMaxAge ?? DEFAULT_ADMIN_REFRESH_TOKEN_MAX_AGE,
62
+ },
63
+ };
64
+ const removeOpts = { path, domain };
65
+ const setAccessToken = (accessToken) => {
66
+ logger?.debug({ accessToken: accessToken.slice(0, 10) + "..." }, "Setting access token");
67
+ cookies.set(accessName, accessToken, setOpts.access);
68
+ };
69
+ const setRefreshToken = (refreshToken) => {
70
+ logger?.debug({ refreshToken: refreshToken.slice(0, 10) + "..." }, "Setting refresh token");
71
+ cookies.set(refreshName, refreshToken, setOpts.refresh);
72
+ };
73
+ const setAdminRefreshToken = (adminRefreshToken) => {
74
+ logger?.debug({ adminRefreshToken: adminRefreshToken.slice(0, 10) + "..." }, "Setting admin refresh token");
75
+ cookies.set(adminRefreshName, adminRefreshToken, setOpts.adminRefresh);
76
+ };
77
+ const setDeviceId = (deviceId) => {
78
+ logger?.debug({ deviceId }, "Setting device id");
79
+ cookies.set(deviceIdName, deviceId, setOpts.deviceId);
80
+ };
81
+ const clearAccessToken = () => {
82
+ logger?.debug("Clearing access token");
83
+ cookies.remove(accessName, removeOpts);
84
+ };
85
+ const clearRefreshToken = () => {
86
+ logger?.debug("Clearing refresh token");
87
+ cookies.remove(refreshName, removeOpts);
88
+ };
89
+ const clearDeviceId = () => {
90
+ logger?.debug("Clearing device id");
91
+ cookies.remove(deviceIdName, removeOpts);
92
+ };
93
+ const clearAdminRefreshToken = () => {
94
+ logger?.debug("Clearing admin refresh token");
95
+ cookies.remove(adminRefreshName, removeOpts);
96
+ };
97
+ const getAccessToken = () => cookies.get(accessName);
98
+ const getRefreshToken = () => cookies.get(refreshName);
99
+ const getDeviceId = () => cookies.get(deviceIdName);
100
+ const getAdminRefreshToken = () => cookies.get(adminRefreshName);
101
+ return {
102
+ save: (tokens) => {
103
+ setAccessToken(tokens.accessToken);
104
+ setRefreshToken(tokens.refreshToken);
105
+ if (tokens.deviceId)
106
+ setDeviceId(tokens.deviceId);
107
+ if (tokens.adminRefreshToken)
108
+ setAdminRefreshToken(tokens.adminRefreshToken);
109
+ },
110
+ clear: () => {
111
+ clearAccessToken();
112
+ clearRefreshToken();
113
+ clearDeviceId();
114
+ clearAdminRefreshToken();
115
+ },
116
+ getAccessToken,
117
+ getRefreshToken,
118
+ getDeviceId,
119
+ getAdminRefreshToken,
120
+ setAccessToken,
121
+ setRefreshToken,
122
+ setAdminRefreshToken,
123
+ setDeviceId,
124
+ clearAccessToken,
125
+ clearRefreshToken,
126
+ clearDeviceId,
127
+ clearAdminRefreshToken,
128
+ getAll: () => {
129
+ const accessToken = getAccessToken();
130
+ const refreshToken = getRefreshToken();
131
+ if (!accessToken || !refreshToken)
132
+ return null;
133
+ return {
134
+ accessToken,
135
+ refreshToken,
136
+ deviceId: getDeviceId() ?? undefined,
137
+ adminRefreshToken: getAdminRefreshToken() ?? undefined,
138
+ };
139
+ },
140
+ };
141
+ };
142
+ const DEFAULT_CACHE_TTL_MS = 3_600_000;
143
+ const JWKS_CACHE_KEY = "authticon:jwks";
144
+ const importKeysFromJwks = async (jwks) => {
145
+ const keysWithKid = jwks.filter((jwk) => typeof jwk.kid === "string");
146
+ const entries = await Promise.all(keysWithKid.map(async (jwk) => {
147
+ const imported = await importJWK(jwk);
148
+ if (imported instanceof Uint8Array) {
149
+ throw new Error(`Symmetric key (kid: ${jwk.kid}) is not supported`);
150
+ }
151
+ return [jwk.kid, imported];
152
+ }));
153
+ return new Map(entries);
154
+ };
155
+ export const createTokenVerifier = (jwksUrl, cacheTtlMs = DEFAULT_CACHE_TTL_MS, logger, externalCache) => {
156
+ const cache = externalCache ?? createInMemoryCacheAdapter();
157
+ const fetchJwks = async () => {
158
+ const response = await fetch(jwksUrl);
159
+ if (!response.ok) {
160
+ throw new AuthticonError(`Failed to fetch JWKS: ${response.status}`);
161
+ }
162
+ const data = await response.json();
163
+ const keys = await importKeysFromJwks(data.keys);
164
+ cache.set(JWKS_CACHE_KEY, { keys, fetchedAt: Date.now() });
165
+ logger?.debug({ jwksUrl }, "JWKS fetched");
166
+ return keys;
167
+ };
168
+ const getCachedOrFetch = async () => {
169
+ const cached = cache.get(JWKS_CACHE_KEY);
170
+ if (cached && Date.now() - cached.fetchedAt < cacheTtlMs) {
171
+ return cached.keys;
172
+ }
173
+ return fetchJwks();
174
+ };
175
+ const resolveKey = async (kid) => {
176
+ const keys = await getCachedOrFetch();
177
+ const key = keys.get(kid);
178
+ if (key)
179
+ return key;
180
+ cache.delete(JWKS_CACHE_KEY);
181
+ const freshKeys = await fetchJwks();
182
+ const freshKey = freshKeys.get(kid);
183
+ if (!freshKey) {
184
+ throw new AuthticonError(`Key with kid "${kid}" not found in JWKS`);
185
+ }
186
+ return freshKey;
187
+ };
188
+ return {
189
+ verifyToken: async (token) => {
190
+ try {
191
+ const header = decodeProtectedHeader(token);
192
+ if (!header.kid) {
193
+ throw new AuthticonError("Token header is missing 'kid' claim");
194
+ }
195
+ const key = await resolveKey(header.kid);
196
+ const { payload } = await jwtVerify(token, key);
197
+ return payload;
198
+ }
199
+ catch (error) {
200
+ if (error instanceof jose.errors.JOSEError) {
201
+ throw new AuthticonTokenError(error.message, error.code, error);
202
+ }
203
+ throw error;
204
+ }
205
+ },
206
+ clearKeyCache: () => {
207
+ cache.delete(JWKS_CACHE_KEY);
208
+ logger?.debug("Key cache cleared");
209
+ },
210
+ };
211
+ };
212
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,SAAS,GAGV,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAWlE,0BAA0B;AAE1B,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAiB,EAAE;IAC3D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEzC,OAAO;QACL,GAAG,EAAE,CAAI,GAAW,EAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAkB;QACvE,GAAG,EAAE,CAAI,GAAW,EAAE,KAAQ,EAAQ,EAAE;YACtC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,CAAC,GAAW,EAAQ,EAAE;YAC5B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,wBAAwB;AAExB,MAAM,yBAAyB,GAAG,cAAc,CAAC;AACjD,MAAM,0BAA0B,GAAG,eAAe,CAAC;AACnD,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAC3C,MAAM,gCAAgC,GAAG,qBAAqB,CAAC;AAC/D,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACzC,MAAM,6BAA6B,GAAG,SAAS,CAAC;AAChD,MAAM,mCAAmC,GAAG,SAAS,CAAC;AAoBtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAsB,EACtB,UAA+B,EAAE,EACjC,MAAe,EACD,EAAE;IAChB,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,IAAI,yBAAyB,CAAC;IACxE,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;IAC3E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,sBAAsB,CAAC;IACpE,MAAM,gBAAgB,GACpB,OAAO,CAAC,qBAAqB,IAAI,gCAAgC,CAAC;IAEpE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;IAE3C,MAAM,OAAO,GAAqC;QAChD,MAAM,EAAE;YACN,IAAI;YACJ,MAAM;YACN,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,OAAO,CAAC,iBAAiB,IAAI,4BAA4B;SAClE;QACD,OAAO,EAAE;YACP,IAAI;YACJ,MAAM;YACN,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,OAAO,CAAC,kBAAkB,IAAI,6BAA6B;SACpE;QACD,QAAQ,EAAE;YACR,IAAI;YACJ,MAAM;YACN,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,OAAO,CAAC,kBAAkB,IAAI,6BAA6B;SACpE;QACD,YAAY,EAAE;YACZ,IAAI;YACJ,MAAM;YACN,MAAM;YACN,QAAQ;YACR,MAAM,EACJ,OAAO,CAAC,uBAAuB,IAAI,mCAAmC;SACzE;KACF,CAAC;IAEF,MAAM,UAAU,GAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAEzD,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAQ,EAAE;QACnD,MAAM,EAAE,KAAK,CACX,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,EACjD,sBAAsB,CACvB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,MAAO,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAQ,EAAE;QACrD,MAAM,EAAE,KAAK,CACX,EAAE,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,EACnD,uBAAuB,CACxB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,OAAQ,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,iBAAyB,EAAQ,EAAE;QAC/D,MAAM,EAAE,KAAK,CACX,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,EAC7D,6BAA6B,CAC9B,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,OAAO,CAAC,YAAa,CAAC,CAAC;IAC1E,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAQ,EAAE;QAC7C,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAS,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,MAAM,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAS,EAAE;QACnC,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,MAAM,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAS,EAAE;QACxC,MAAM,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAEjE,OAAO;QACL,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACf,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACnC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,QAAQ;gBAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,iBAAiB;gBAC1B,oBAAoB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QACD,cAAc;QACd,eAAe;QACf,WAAW;QACX,oBAAoB;QACpB,cAAc;QACd,eAAe;QACf,oBAAoB;QACpB,WAAW;QACX,gBAAgB;QAChB,iBAAiB;QACjB,aAAa;QACb,sBAAsB;QACtB,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY;gBAAE,OAAO,IAAI,CAAC;YAC/C,OAAO;gBACL,WAAW;gBACX,YAAY;gBACZ,QAAQ,EAAE,WAAW,EAAE,IAAI,SAAS;gBACpC,iBAAiB,EAAE,oBAAoB,EAAE,IAAI,SAAS;aACvD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAaF,MAAM,oBAAoB,GAAG,SAAS,CAAC;AACvC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC,MAAM,kBAAkB,GAAG,KAAK,EAC9B,IAAoB,EACyB,EAAE;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAyC,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAC5E,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAU,CAAC;IACtC,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAGjC,OAAe,EACf,aAAqB,oBAAoB,EACzC,MAAe,EACf,aAA4B,EACJ,EAAE;IAC1B,MAAM,KAAK,GAAG,aAAa,IAAI,0BAA0B,EAAE,CAAC;IAE5D,MAAM,SAAS,GAAG,KAAK,IAAiD,EAAE;QACxE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,cAAc,CAAC,yBAAyB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,IAAI,GAAiB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,KAAK,CAAC,GAAG,CAAa,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,IAE5B,EAAE;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAa,cAAc,CAAC,CAAC;QACrD,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,SAAS,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EAAE,GAAW,EAA0B,EAAE;QAC/D,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QAEpB,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,SAAS,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,cAAc,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBAChB,MAAM,IAAI,cAAc,CAAC,qCAAqC,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CACjC,KAAK,EACL,GAAG,CACJ,CAAC;gBACF,OAAO,OAAO,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC3C,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,aAAa,EAAE,GAAG,EAAE;YAClB,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC7B,MAAM,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
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-beta9",
3
+ "version": "0.0.4",
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,87 +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
- hasSession(): boolean;
27
- verifyToken(): Promise<import("./types.js").AccessTokenPayload<Payload>>;
28
- getUser(): Promise<import("./types.js").JWTPayload & Payload & {
29
- auth: {
30
- logout: () => Promise<{
31
- success: boolean;
32
- }>;
33
- refresh: () => Promise<{
34
- accessToken: string;
35
- }>;
36
- };
37
- account: {
38
- changeEmail: (newEmail: string) => Promise<null>;
39
- changePassword: (newPassword: string, oldPassword: string) => Promise<null>;
40
- };
41
- twoFa: {
42
- enabled: boolean;
43
- type: "email" | "sms" | "app";
44
- getSecret: () => Promise<{
45
- secret: string;
46
- uri: string;
47
- }>;
48
- enablePhone: () => Promise<{
49
- success: boolean;
50
- }>;
51
- enableEmail: () => Promise<{
52
- success: boolean;
53
- }>;
54
- enableApp: (token: string) => Promise<{
55
- success: boolean;
56
- }>;
57
- disable: (token: string) => Promise<{
58
- success: boolean;
59
- }>;
60
- };
61
- challange: {
62
- startPhone: (phone: string) => Promise<null>;
63
- completePhone: (phone: string, code: string) => Promise<null>;
64
- };
65
- authticon: {
66
- sessionId: string;
67
- userId: string;
68
- projectId: string;
69
- role: "guest" | "user";
70
- twoFaEnabled: boolean;
71
- twoFaType: "email" | "sms" | "app";
72
- };
73
- }>;
74
- cookies(): C;
75
- login(email: string, password: string, userAgent: string): Promise<{
76
- accessToken: string;
77
- refreshToken: string;
78
- deviceId: string;
79
- } | {
80
- twoFaType: "email" | "sms" | "app";
81
- twoFaToken: string;
82
- deviceId: string;
83
- }>;
84
- }
85
- export declare function createAuthticon<Payload extends Record<string, any> = Record<string, any>, C extends CookieAdapter = CookieAdapter>(options: ClientOptions<C>): Authticon<Payload, C>;
86
- export {};
87
- //# 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,CACpB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,CAAC,SAAS,aAAa;IAEvB,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,CAAI;gBAExB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IA4B9B,UAAU;IAIJ,WAAW;IAUX,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKb,OAAO;IAOD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;;;;;CAOtE;AAED,wBAAgB,eAAe,CAC7B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzD,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,yBAE1B"}