@gauts/auth 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +559 -169
  2. package/dist/adapters/hono/index.d.ts +11 -3
  3. package/dist/adapters/hono/index.d.ts.map +1 -1
  4. package/dist/adapters/hono/index.js +28 -10
  5. package/dist/adapters/hono/index.js.map +1 -1
  6. package/dist/adapters/prisma/index.d.ts +31 -0
  7. package/dist/adapters/prisma/index.d.ts.map +1 -0
  8. package/dist/adapters/prisma/index.js +119 -0
  9. package/dist/adapters/prisma/index.js.map +1 -0
  10. package/dist/adapters/redis/index.d.ts +5 -5
  11. package/dist/adapters/redis/index.d.ts.map +1 -1
  12. package/dist/adapters/redis/index.js +19 -19
  13. package/dist/adapters/redis/index.js.map +1 -1
  14. package/dist/auth.d.ts +4 -4
  15. package/dist/auth.d.ts.map +1 -1
  16. package/dist/auth.js +5 -5
  17. package/dist/auth.js.map +1 -1
  18. package/dist/client/index.d.ts +3 -3
  19. package/dist/client/index.d.ts.map +1 -1
  20. package/dist/client/index.js +17 -6
  21. package/dist/client/index.js.map +1 -1
  22. package/dist/config.d.ts +1 -1
  23. package/dist/config.d.ts.map +1 -1
  24. package/dist/config.js +4 -11
  25. package/dist/config.js.map +1 -1
  26. package/dist/errors.d.ts +2 -2
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/errors.js +7 -5
  29. package/dist/errors.js.map +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/password/index.d.ts.map +1 -1
  33. package/dist/password/index.js +2 -4
  34. package/dist/password/index.js.map +1 -1
  35. package/dist/session/schema.d.ts.map +1 -1
  36. package/dist/session/schema.js +10 -10
  37. package/dist/session/schema.js.map +1 -1
  38. package/dist/session/service.d.ts +4 -4
  39. package/dist/session/service.d.ts.map +1 -1
  40. package/dist/session/service.js +130 -112
  41. package/dist/session/service.js.map +1 -1
  42. package/dist/session/token.js.map +1 -1
  43. package/dist/session/types.d.ts +45 -42
  44. package/dist/session/types.d.ts.map +1 -1
  45. package/package.json +92 -92
@@ -1,7 +1,8 @@
1
1
  import type { Context, Env, MiddlewareHandler } from "hono";
2
- import type { Auth } from "../../auth.js";
2
+ import { type Auth, type AuthDeps } from "../../auth.js";
3
3
  import type { Session } from "../../session/types.js";
4
4
  export type HonoAuthVariables<TData extends object> = {
5
+ account: TData;
5
6
  session: Session<TData>;
6
7
  };
7
8
  export type HonoAuthEnv<TData extends object> = Env & {
@@ -14,13 +15,18 @@ export type HonoCookieConfig = {
14
15
  sameSite?: "Strict" | "Lax" | "None";
15
16
  secure?: boolean;
16
17
  };
18
+ export type HonoGetIp = (c: Context) => Promise<string | null | undefined> | string | null | undefined;
17
19
  export type HonoAdapterConfig<TData extends object> = {
18
20
  auth: Auth<TData>;
19
21
  cookie?: HonoCookieConfig;
20
- getIp: (c: Context) => Promise<string | null | undefined> | string | null | undefined;
22
+ getIp: HonoGetIp;
23
+ };
24
+ export type HonoAuthConfig = AuthDeps & {
25
+ cookie?: HonoCookieConfig;
26
+ getIp: HonoGetIp;
21
27
  };
22
28
  type CreateSessionInput<TData extends object> = {
23
- accountId: string;
29
+ account_id: string;
24
30
  context: Context;
25
31
  data: TData;
26
32
  };
@@ -32,6 +38,8 @@ export type HonoAdapter<TData extends object> = {
32
38
  resolveSession(c: Context): Promise<Session<TData>>;
33
39
  revokeSession(c: Context): Promise<string[]>;
34
40
  };
41
+ export type HonoAuth<TData extends object> = Auth<TData> & HonoAdapter<TData>;
35
42
  export declare const createHonoAdapter: <TData extends object>({ auth, cookie, getIp, }: HonoAdapterConfig<TData>) => HonoAdapter<TData>;
43
+ export declare const createHonoAuth: <TData extends object = Record<string, unknown>>({ cookie, db, getIp, password, redis, session, }: HonoAuthConfig) => HonoAuth<TData>;
36
44
  export {};
37
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/hono/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAE5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI;IACpD,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,IAAI,GAAG,GAAG;IACpD,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI;IACpD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,CACL,CAAC,EAAE,OAAO,KACP,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACrE,CAAC;AAEF,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,IAAI;IAC9C,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC9C,CAAC;AA4DF,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,MAAM,EAAE,0BAIrD,iBAAiB,CAAC,KAAK,CAAC,KAAG,WAAW,CAAC,KAAK,CAkI9C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/hono/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAE5D,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI;IAClD,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,IAAI,GAAG,GAAG;IAClD,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CACpB,CAAC,EAAE,OAAO,KACT,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEpE,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI;IAClD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG;IACpC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,IAAI;IAC5C,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AAyD9E,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,MAAM,EAAE,0BAIrD,iBAAiB,CAAC,KAAK,CAAC,KAAG,WAAW,CAAC,KAAK,CAiI9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,kDAO5E,cAAc,KAAG,QAAQ,CAAC,KAAK,CAgBjC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { deleteCookie, getCookie, setCookie } from "hono/cookie";
2
+ import { createAuth } from "../../auth.js";
2
3
  import { createError, isAuthError } from "../../errors.js";
3
4
  const COOKIE_NAME_PATTERN = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
4
5
  const resolveCookie = (config = {}) => {
@@ -18,8 +19,7 @@ const resolveCookie = (config = {}) => {
18
19
  message: "Session cookie path must start with /.",
19
20
  });
20
21
  }
21
- if (name.startsWith("__Host-") &&
22
- (!secure || path !== "/" || config.domain)) {
22
+ if (name.startsWith("__Host-") && (!secure || path !== "/" || config.domain)) {
23
23
  throw createError({
24
24
  code: "AUTH_CONFIG_INVALID",
25
25
  message: "__Host- cookies require secure=true, path=/, and no domain.",
@@ -57,32 +57,32 @@ export const createHonoAdapter = ({ auth, cookie, getIp, }) => {
57
57
  }
58
58
  const resolved = resolveCookie(cookie);
59
59
  const getSessionClient = async (c) => ({
60
+ agent: c.req.header("user-agent") ?? null,
60
61
  ip: (await getIp(c)) ?? null,
61
62
  platform: c.req.header("sec-ch-ua-platform") ?? null,
62
- userAgent: c.req.header("user-agent") ?? null,
63
63
  });
64
64
  const getToken = (c) => {
65
65
  const token = getCookie(c, resolved.name)?.trim();
66
66
  return token?.length ? token : null;
67
67
  };
68
- const setToken = ({ context, expiresAt, token, }) => {
68
+ const setToken = ({ context, expires_at, token, }) => {
69
69
  setCookie(context, resolved.name, token, {
70
70
  ...resolved.options,
71
- expires: expiresAt,
71
+ expires: expires_at,
72
72
  });
73
73
  };
74
74
  const clearSession = (c) => {
75
75
  deleteCookie(c, resolved.name, resolved.options);
76
76
  };
77
- const createSession = async ({ accountId, context, data, }) => {
77
+ const createSession = async ({ account_id, context, data, }) => {
78
78
  const created = await auth.session.create({
79
- accountId,
79
+ account_id,
80
80
  client: await getSessionClient(context),
81
81
  data,
82
82
  });
83
83
  setToken({
84
84
  context,
85
- expiresAt: created.session.expiresAt,
85
+ expires_at: created.session.expires_at,
86
86
  token: created.token,
87
87
  });
88
88
  return created.session;
@@ -118,14 +118,16 @@ export const createHonoAdapter = ({ auth, cookie, getIp, }) => {
118
118
  if (resolvedSession.renewed) {
119
119
  setToken({
120
120
  context: c,
121
- expiresAt: resolvedSession.session.expiresAt,
121
+ expires_at: resolvedSession.session.expires_at,
122
122
  token,
123
123
  });
124
124
  }
125
125
  return resolvedSession.session;
126
126
  };
127
127
  const requireSession = async (c, next) => {
128
- c.set("session", await resolveSession(c));
128
+ const session = await resolveSession(c);
129
+ c.set("session", session);
130
+ c.set("account", session.data);
129
131
  await next();
130
132
  };
131
133
  const revokeSession = async (c) => {
@@ -143,4 +145,20 @@ export const createHonoAdapter = ({ auth, cookie, getIp, }) => {
143
145
  revokeSession,
144
146
  };
145
147
  };
148
+ export const createHonoAuth = ({ cookie, db, getIp, password, redis, session, }) => {
149
+ const auth = createAuth({
150
+ db,
151
+ redis,
152
+ ...(password === undefined ? {} : { password }),
153
+ ...(session === undefined ? {} : { session }),
154
+ });
155
+ return {
156
+ ...auth,
157
+ ...createHonoAdapter({
158
+ auth,
159
+ getIp,
160
+ ...(cookie === undefined ? {} : { cookie }),
161
+ }),
162
+ };
163
+ };
146
164
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/hono/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/hono/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { DbAdapter, SessionRecord } from "../../session/types.js";
2
+ declare const DEFAULT_TABLE = "auth_sessions";
3
+ type DelegateMeta<T> = T[Extract<keyof T, symbol>];
4
+ type DelegateRow<T> = DelegateMeta<T> extends {
5
+ types: {
6
+ payload: {
7
+ scalars: infer Result;
8
+ };
9
+ };
10
+ } ? Result : never;
11
+ type IsSessionTable<T> = [DelegateRow<T>] extends [never] ? false : DelegateRow<T> extends SessionRecord ? true : false;
12
+ export type PrismaSessionTable<Client> = {
13
+ [Key in keyof Client]: IsSessionTable<Client[Key]> extends true ? Key : never;
14
+ }[keyof Client] & string;
15
+ export type PrismaAdapterConfig<Client> = {
16
+ table?: PrismaSessionTable<Client>;
17
+ };
18
+ type DefaultPrismaAdapterInput<Client extends object> = {
19
+ client: Client;
20
+ config?: PrismaAdapterConfig<Client>;
21
+ };
22
+ type CustomPrismaAdapterInput<Client extends object> = {
23
+ client: Client;
24
+ config: PrismaAdapterConfig<Client> & {
25
+ table: PrismaSessionTable<Client>;
26
+ };
27
+ };
28
+ export type PrismaAdapterInput<Client extends object> = typeof DEFAULT_TABLE extends PrismaSessionTable<Client> ? DefaultPrismaAdapterInput<Client> : CustomPrismaAdapterInput<Client>;
29
+ export declare const createDbAdapter: <Client extends object>(input: PrismaAdapterInput<Client>) => DbAdapter;
30
+ export {};
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvE,QAAA,MAAM,aAAa,kBAAkB,CAAC;AAEtC,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAEnD,KAAK,WAAW,CAAC,CAAC,IACd,YAAY,CAAC,CAAC,CAAC,SAAS;IACpB,KAAK,EAAE;QACH,OAAO,EAAE;YAAE,OAAO,EAAE,MAAM,MAAM,CAAA;SAAE,CAAC;KACtC,CAAC;CACL,GACK,MAAM,GACN,KAAK,CAAC;AAEhB,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACnD,KAAK,GACL,WAAW,CAAC,CAAC,CAAC,SAAS,aAAa,GAClC,IAAI,GACJ,KAAK,CAAC;AAEd,MAAM,MAAM,kBAAkB,CAAC,MAAM,IAAI;KACpC,GAAG,IAAI,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAAG,KAAK;CAChF,CAAC,MAAM,MAAM,CAAC,GACX,MAAM,CAAC;AAEX,MAAM,MAAM,mBAAmB,CAAC,MAAM,IAAI;IACtC,KAAK,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,yBAAyB,CAAC,MAAM,SAAS,MAAM,IAAI;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,KAAK,wBAAwB,CAAC,MAAM,SAAS,MAAM,IAAI;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG;QAClC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,MAAM,IAChD,OAAO,aAAa,SAAS,kBAAkB,CAAC,MAAM,CAAC,GACjD,yBAAyB,CAAC,MAAM,CAAC,GACjC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AA8E3C,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,MAAM,EACjD,OAAO,kBAAkB,CAAC,MAAM,CAAC,KAClC,SAsEF,CAAC"}
@@ -0,0 +1,119 @@
1
+ import { createError } from "../../errors.js";
2
+ const DEFAULT_TABLE = "auth_sessions";
3
+ const select = {
4
+ account_id: true,
5
+ agent: true,
6
+ created_at: true,
7
+ expires_at: true,
8
+ id: true,
9
+ ip: true,
10
+ platform: true,
11
+ revoked_at: true,
12
+ token_hash: true,
13
+ updated_at: true,
14
+ };
15
+ const isRecord = (value) => {
16
+ return typeof value === "object" && value !== null && !Array.isArray(value);
17
+ };
18
+ const isNullableString = (value) => {
19
+ return typeof value === "string" || value === null;
20
+ };
21
+ const isNullableDate = (value) => {
22
+ return value instanceof Date || value === null;
23
+ };
24
+ const isDelegate = (value) => {
25
+ return (isRecord(value) &&
26
+ typeof value.create === "function" &&
27
+ typeof value.findFirst === "function" &&
28
+ typeof value.findMany === "function" &&
29
+ typeof value.update === "function" &&
30
+ typeof value.updateMany === "function");
31
+ };
32
+ const isSessionRecord = (value) => {
33
+ return (isRecord(value) &&
34
+ typeof value.account_id === "string" &&
35
+ isNullableString(value.agent) &&
36
+ value.created_at instanceof Date &&
37
+ value.expires_at instanceof Date &&
38
+ typeof value.id === "string" &&
39
+ isNullableString(value.ip) &&
40
+ isNullableString(value.platform) &&
41
+ isNullableDate(value.revoked_at) &&
42
+ typeof value.token_hash === "string" &&
43
+ isNullableDate(value.updated_at));
44
+ };
45
+ const requireRow = (value) => {
46
+ if (!isSessionRecord(value)) {
47
+ throw new Error("Prisma session table returned invalid data.");
48
+ }
49
+ return value;
50
+ };
51
+ const requireRows = (value) => {
52
+ if (!Array.isArray(value)) {
53
+ throw new Error("Prisma session table returned invalid data.");
54
+ }
55
+ return value.map(requireRow);
56
+ };
57
+ export const createDbAdapter = (input) => {
58
+ const config = "config" in input ? input.config : undefined;
59
+ const table_name = config?.table ?? DEFAULT_TABLE;
60
+ const table = isRecord(input.client) ? input.client[table_name] : undefined;
61
+ if (!isDelegate(table)) {
62
+ throw createError({
63
+ code: "AUTH_CONFIG_INVALID",
64
+ message: `Prisma session table ${table_name} is invalid.`,
65
+ });
66
+ }
67
+ return {
68
+ create: async (session) => {
69
+ await table.create({ data: session });
70
+ },
71
+ find: async ({ account_id, session_id }) => {
72
+ const row = await table.findFirst({
73
+ select,
74
+ where: {
75
+ account_id,
76
+ id: session_id,
77
+ },
78
+ });
79
+ return row === null ? null : requireRow(row);
80
+ },
81
+ findActive: async ({ account_id, now }) => {
82
+ const rows = await table.findMany({
83
+ orderBy: { created_at: "desc" },
84
+ select,
85
+ where: {
86
+ account_id,
87
+ expires_at: { gt: now },
88
+ revoked_at: null,
89
+ },
90
+ });
91
+ return requireRows(rows);
92
+ },
93
+ revoke: async ({ revoked_at, session_ids }) => {
94
+ if (session_ids.length === 0) {
95
+ return;
96
+ }
97
+ await table.updateMany({
98
+ data: {
99
+ revoked_at,
100
+ updated_at: revoked_at,
101
+ },
102
+ where: {
103
+ id: { in: session_ids },
104
+ revoked_at: null,
105
+ },
106
+ });
107
+ },
108
+ updateExpiry: async ({ expires_at, session_id, updated_at }) => {
109
+ await table.update({
110
+ data: {
111
+ expires_at,
112
+ updated_at,
113
+ },
114
+ where: { id: session_id },
115
+ });
116
+ },
117
+ };
118
+ };
119
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/prisma/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import type { RedisClientType } from "redis";
2
- import type { RedisSessionStore } from "../../session/types.js";
3
- export type RedisStoreConfig = {
2
+ import type { RedisAdapter } from "../../session/types.js";
3
+ export type RedisAdapterConfig = {
4
4
  prefix?: string;
5
5
  };
6
- export type RedisStoreInput = {
6
+ export type RedisAdapterInput = {
7
7
  client: RedisClientType;
8
- config?: RedisStoreConfig;
8
+ config?: RedisAdapterConfig;
9
9
  };
10
- export declare const createRedisStore: ({ client, config, }: RedisStoreInput) => RedisSessionStore;
10
+ export declare const createRedisAdapter: ({ client, config }: RedisAdapterInput) => RedisAdapter;
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/redis/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAgBF,eAAO,MAAM,gBAAgB,GAAI,qBAG9B,eAAe,KAAG,iBA8DpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/redis/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAgBF,eAAO,MAAM,kBAAkB,GAAI,oBAAyB,iBAAiB,KAAG,YA4D/E,CAAC"}
@@ -10,12 +10,12 @@ const getPrefix = (input) => {
10
10
  }
11
11
  return prefix.replace(/:+$/g, "");
12
12
  };
13
- export const createRedisStore = ({ client, config = {}, }) => {
13
+ export const createRedisAdapter = ({ client, config = {} }) => {
14
14
  const prefix = getPrefix(config.prefix);
15
- const getKey = (tokenHash) => `${prefix}:session:${tokenHash}`;
15
+ const getKey = (token_hash) => `${prefix}:session:${token_hash}`;
16
16
  return {
17
- create: async ({ tokenHash, ttl, value }) => {
18
- const result = await client.set(getKey(tokenHash), value, {
17
+ create: async ({ token_hash, ttl, value }) => {
18
+ const result = await client.set(getKey(token_hash), value, {
19
19
  EX: ttl,
20
20
  NX: true,
21
21
  });
@@ -23,38 +23,38 @@ export const createRedisStore = ({ client, config = {}, }) => {
23
23
  throw new Error("Redis session key already exists.");
24
24
  }
25
25
  },
26
- get: async (tokenHash) => {
27
- return client.get(getKey(tokenHash));
26
+ get: async (token_hash) => {
27
+ return client.get(getKey(token_hash));
28
28
  },
29
- getMany: async (tokenHashes) => {
30
- return tokenHashes.length === 0
29
+ getMany: async (token_hashes) => {
30
+ return token_hashes.length === 0
31
31
  ? []
32
- : client.mGet(tokenHashes.map((tokenHash) => getKey(tokenHash)));
32
+ : client.mGet(token_hashes.map((token_hash) => getKey(token_hash)));
33
33
  },
34
- update: async ({ tokenHash, ttl, value }) => {
35
- const result = await client.set(getKey(tokenHash), value, {
34
+ update: async ({ token_hash, ttl, value }) => {
35
+ const result = await client.set(getKey(token_hash), value, {
36
36
  EX: ttl,
37
37
  XX: true,
38
38
  });
39
39
  return result === "OK";
40
40
  },
41
- keep: async ({ tokenHash, value }) => {
42
- const result = await client.set(getKey(tokenHash), value, {
41
+ keep: async ({ token_hash, value }) => {
42
+ const result = await client.set(getKey(token_hash), value, {
43
43
  KEEPTTL: true,
44
44
  XX: true,
45
45
  });
46
46
  return result === "OK";
47
47
  },
48
- delete: async (tokenHashes) => {
49
- if (tokenHashes.length > 0) {
50
- await client.del(tokenHashes.map((tokenHash) => getKey(tokenHash)));
48
+ delete: async (token_hashes) => {
49
+ if (token_hashes.length > 0) {
50
+ await client.del(token_hashes.map((token_hash) => getKey(token_hash)));
51
51
  }
52
52
  },
53
- exists: async (tokenHashes) => {
54
- if (tokenHashes.length === 0) {
53
+ exists: async (token_hashes) => {
54
+ if (token_hashes.length === 0) {
55
55
  return [];
56
56
  }
57
- const values = await client.mGet(tokenHashes.map((tokenHash) => getKey(tokenHash)));
57
+ const values = await client.mGet(token_hashes.map((token_hash) => getKey(token_hash)));
58
58
  return values.map((value) => value !== null);
59
59
  },
60
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/redis/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/redis/index.ts"],"names":[],"mappings":"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"}
package/dist/auth.d.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  import type { PasswordConfig, SessionConfig } from "./config.js";
2
2
  import { type PasswordService } from "./password/index.js";
3
- import type { RedisSessionStore, SessionRecords, SessionService } from "./session/types.js";
3
+ import type { DbAdapter, RedisAdapter, SessionService } from "./session/types.js";
4
4
  export type AuthConfig = {
5
5
  password?: PasswordConfig;
6
6
  session?: SessionConfig;
7
7
  };
8
8
  export type AuthDeps = AuthConfig & {
9
- records: SessionRecords;
10
- redis: RedisSessionStore;
9
+ db: DbAdapter;
10
+ redis: RedisAdapter;
11
11
  };
12
12
  export type Auth<TData extends object> = {
13
13
  password: PasswordService;
14
14
  session: SessionService<TData>;
15
15
  };
16
- export declare const createAuth: <TData extends object = Record<string, unknown>>({ password, records, redis, session, }: AuthDeps) => Auth<TData>;
16
+ export declare const createAuth: <TData extends object = Record<string, unknown>>({ db, password, redis, session, }: AuthDeps) => Auth<TData>;
17
17
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAClC,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,IAAI,CAAC,KAAK,SAAS,MAAM,IAAI;IACvC,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;CAChC,CAAC;AA8BF,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,wCAKxE,QAAQ,KAAG,IAAI,CAAC,KAAK,CAoBvB,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAElF,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAChC,EAAE,EAAE,SAAS,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,IAAI,CAAC,KAAK,SAAS,MAAM,IAAI;IACrC,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;CAClC,CAAC;AA0BF,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,mCAKxE,QAAQ,KAAG,IAAI,CAAC,KAAK,CAoBvB,CAAC"}
package/dist/auth.js CHANGED
@@ -2,7 +2,7 @@ import { resolvePasswordConfig, resolveSessionConfig } from "./config.js";
2
2
  import { createError } from "./errors.js";
3
3
  import { createPassword } from "./password/index.js";
4
4
  import { createSessionService } from "./session/service.js";
5
- const requireMethods = ({ methods, name, value, }) => {
5
+ const requireMethods = ({ methods, name, value }) => {
6
6
  if (typeof value !== "object" || value === null) {
7
7
  throw createError({
8
8
  code: "AUTH_CONFIG_INVALID",
@@ -17,7 +17,7 @@ const requireMethods = ({ methods, name, value, }) => {
17
17
  });
18
18
  }
19
19
  };
20
- export const createAuth = ({ password, records, redis, session, }) => {
20
+ export const createAuth = ({ db, password, redis, session, }) => {
21
21
  requireMethods({
22
22
  methods: ["create", "delete", "exists", "get", "getMany", "keep", "update"],
23
23
  name: "Redis",
@@ -25,14 +25,14 @@ export const createAuth = ({ password, records, redis, session, }) => {
25
25
  });
26
26
  requireMethods({
27
27
  methods: ["create", "find", "findActive", "revoke", "updateExpiry"],
28
- name: "Records",
29
- value: records,
28
+ name: "DB",
29
+ value: db,
30
30
  });
31
31
  return {
32
32
  password: createPassword(resolvePasswordConfig(password)),
33
33
  session: createSessionService({
34
34
  config: resolveSessionConfig(session),
35
- records,
35
+ db,
36
36
  redis,
37
37
  }),
38
38
  };
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA4B5D,MAAM,cAAc,GAAG,CAAC,EACtB,OAAO,EACP,IAAI,EACJ,KAAK,GACe,EAAQ,EAAE;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,WAAW,CAAC;YAChB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,sBAAsB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,KAAgC,CAAC;IAEjD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC;QACpE,MAAM,WAAW,CAAC;YAChB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,sBAAsB;SACvC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAiD,EACzE,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,GACE,EAAe,EAAE;IAC1B,cAAc,CAAC;QACb,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC3E,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IACH,cAAc,CAAC;QACb,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC;QACnE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,cAAc,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,EAAE,oBAAoB,CAAC;YAC5B,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC;YACrC,OAAO;YACP,KAAK;SACN,CAAC;KACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAwB5D,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAuB,EAAQ,EAAE;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,sBAAsB;SACzC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,OAAO,GAAG,KAAgC,CAAC;IAEjD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC;QAClE,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,sBAAsB;SACzC,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAiD,EACvE,EAAE,EACF,QAAQ,EACR,KAAK,EACL,OAAO,GACA,EAAe,EAAE;IACxB,cAAc,CAAC;QACX,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC3E,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,KAAK;KACf,CAAC,CAAC;IACH,cAAc,CAAC;QACX,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC;QACnE,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,EAAE;KACZ,CAAC,CAAC;IAEH,OAAO;QACH,QAAQ,EAAE,cAAc,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,EAAE,oBAAoB,CAAC;YAC1B,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC;YACrC,EAAE;YACF,KAAK;SACR,CAAC;KACL,CAAC;AACN,CAAC,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import type { SessionValidation } from "../config.js";
2
2
  export type SessionClientInput = {
3
+ agent?: string | null;
3
4
  ip?: string | null;
4
5
  platform?: string | null;
5
- userAgent?: string | null;
6
6
  };
7
7
  export type SessionClient = {
8
+ agent: string | null;
8
9
  ip: string | null;
9
10
  platform: string | null;
10
- userAgent: string | null;
11
11
  };
12
12
  type MatchesClientProps = {
13
13
  current: SessionClient;
@@ -16,6 +16,6 @@ type MatchesClientProps = {
16
16
  };
17
17
  export declare const normalizeIp: (input?: string | null) => string | null;
18
18
  export declare const normalizeClient: (input: SessionClientInput) => SessionClient;
19
- export declare const matchesClient: ({ current, stored, validation, }: MatchesClientProps) => boolean;
19
+ export declare const matchesClient: ({ current, stored, validation }: MatchesClientProps) => boolean;
20
20
  export {};
21
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,GAAG,IAAI,KAAG,MAAM,GAAG,IAkB5D,CAAC;AAWF,eAAO,MAAM,eAAe,GAAI,OAAO,kBAAkB,KAAG,aAI1D,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,kCAI3B,kBAAkB,KAAG,OAEvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,GAAG,IAAI,KAAG,MAAM,GAAG,IAgC5D,CAAC;AASF,eAAO,MAAM,eAAe,GAAI,OAAO,kBAAkB,KAAG,aAI1D,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,iCAAiC,kBAAkB,KAAG,OAEnF,CAAC"}
@@ -1,4 +1,4 @@
1
- import ipaddr from "ipaddr.js";
1
+ import { isIP, SocketAddress } from "node:net";
2
2
  export const normalizeIp = (input) => {
3
3
  let value = input?.trim();
4
4
  if (!value) {
@@ -7,23 +7,34 @@ export const normalizeIp = (input) => {
7
7
  if (value.startsWith("[") && value.endsWith("]")) {
8
8
  value = value.slice(1, -1);
9
9
  }
10
- if (!ipaddr.isValid(value)) {
10
+ const version = isIP(value);
11
+ if (version === 4) {
12
+ return value;
13
+ }
14
+ if (version !== 6 || value.includes("%")) {
11
15
  return null;
12
16
  }
13
- const normalized = ipaddr.process(value).toString();
17
+ const normalized = new SocketAddress({
18
+ address: value,
19
+ family: "ipv6",
20
+ port: 0,
21
+ }).address;
22
+ if (normalized.startsWith("::ffff:")) {
23
+ return normalized.slice(7);
24
+ }
14
25
  return normalized === "::1" ? "127.0.0.1" : normalized;
15
26
  };
16
27
  const normalizePlatform = (input) => {
17
28
  const value = input?.replace(/^"+|"+$/g, "").trim();
18
29
  return value ? value.slice(0, 255) : null;
19
30
  };
20
- const normalizeUserAgent = (input) => input?.length ? input : null;
31
+ const normalizeAgent = (input) => (input?.length ? input : null);
21
32
  export const normalizeClient = (input) => ({
33
+ agent: normalizeAgent(input.agent),
22
34
  ip: normalizeIp(input.ip),
23
35
  platform: normalizePlatform(input.platform),
24
- userAgent: normalizeUserAgent(input.userAgent),
25
36
  });
26
- export const matchesClient = ({ current, stored, validation, }) => {
37
+ export const matchesClient = ({ current, stored, validation }) => {
27
38
  return validation.every((field) => stored[field] === current[field]);
28
39
  };
29
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAqB/B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAqB,EAAiB,EAAE;IAClE,IAAI,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IAEpD,OAAO,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAqB,EAAiB,EAAE;IACjE,MAAM,KAAK,GAAG,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAAqB,EAAiB,EAAE,CAClE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAE/B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAyB,EAAiB,EAAE,CAAC,CAAC;IAC5E,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IACzB,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC3C,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,UAAU,GACS,EAAW,EAAE;IAChC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAqB/C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAqB,EAAiB,EAAE;IAChE,IAAI,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,aAAa,CAAC;QACjC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,CAAC;KACV,CAAC,CAAC,OAAO,CAAC;IAEX,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAqB,EAAiB,EAAE;IAC/D,MAAM,KAAK,GAAG,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAqB,EAAiB,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAyB,EAAiB,EAAE,CAAC,CAAC;IAC1E,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;IAClC,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IACzB,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAsB,EAAW,EAAE;IAC1F,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC"}
package/dist/config.d.ts CHANGED
@@ -13,7 +13,7 @@ export type BcryptConfig = {
13
13
  verifyMaxBytes?: number;
14
14
  };
15
15
  export type PasswordConfig = Argon2idConfig | BcryptConfig;
16
- export type SessionValidation = "ip" | "platform" | "userAgent";
16
+ export type SessionValidation = "agent" | "ip" | "platform";
17
17
  export type SessionConfig = {
18
18
  max?: number;
19
19
  renewInterval?: number;