@gauts/auth 0.8.2 → 0.9.0

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 (75) hide show
  1. package/README.md +292 -66
  2. package/dist/adapters/drizzle/config.d.ts +11 -0
  3. package/dist/adapters/drizzle/config.d.ts.map +1 -0
  4. package/dist/adapters/drizzle/config.js +147 -0
  5. package/dist/adapters/drizzle/config.js.map +1 -0
  6. package/dist/adapters/drizzle/index.d.ts +4 -0
  7. package/dist/adapters/drizzle/index.d.ts.map +1 -0
  8. package/dist/adapters/drizzle/index.js +156 -0
  9. package/dist/adapters/drizzle/index.js.map +1 -0
  10. package/dist/adapters/drizzle/model.d.ts +21 -0
  11. package/dist/adapters/drizzle/model.d.ts.map +1 -0
  12. package/dist/adapters/drizzle/model.js +61 -0
  13. package/dist/adapters/drizzle/model.js.map +1 -0
  14. package/dist/adapters/drizzle/schema.d.ts +311 -0
  15. package/dist/adapters/drizzle/schema.d.ts.map +1 -0
  16. package/dist/adapters/drizzle/schema.js +37 -0
  17. package/dist/adapters/drizzle/schema.js.map +1 -0
  18. package/dist/adapters/drizzle/types.d.ts +109 -0
  19. package/dist/adapters/drizzle/types.d.ts.map +1 -0
  20. package/dist/adapters/drizzle/types.js +2 -0
  21. package/dist/adapters/drizzle/types.js.map +1 -0
  22. package/dist/adapters/express/index.d.ts +83 -0
  23. package/dist/adapters/express/index.d.ts.map +1 -0
  24. package/dist/adapters/express/index.js +72 -0
  25. package/dist/adapters/express/index.js.map +1 -0
  26. package/dist/adapters/express/social.d.ts +29 -0
  27. package/dist/adapters/express/social.d.ts.map +1 -0
  28. package/dist/adapters/express/social.js +44 -0
  29. package/dist/adapters/express/social.js.map +1 -0
  30. package/dist/adapters/fastify/index.d.ts +85 -0
  31. package/dist/adapters/fastify/index.d.ts.map +1 -0
  32. package/dist/adapters/fastify/index.js +100 -0
  33. package/dist/adapters/fastify/index.js.map +1 -0
  34. package/dist/adapters/fastify/social.d.ts +27 -0
  35. package/dist/adapters/fastify/social.d.ts.map +1 -0
  36. package/dist/adapters/fastify/social.js +48 -0
  37. package/dist/adapters/fastify/social.js.map +1 -0
  38. package/dist/adapters/hono/index.d.ts +4 -11
  39. package/dist/adapters/hono/index.d.ts.map +1 -1
  40. package/dist/adapters/hono/index.js +31 -223
  41. package/dist/adapters/hono/index.js.map +1 -1
  42. package/dist/adapters/hono/social.d.ts +4 -10
  43. package/dist/adapters/hono/social.d.ts.map +1 -1
  44. package/dist/adapters/hono/social.js +25 -221
  45. package/dist/adapters/hono/social.js.map +1 -1
  46. package/dist/adapters/model.d.ts +33 -0
  47. package/dist/adapters/model.d.ts.map +1 -0
  48. package/dist/adapters/model.js +87 -0
  49. package/dist/adapters/model.js.map +1 -0
  50. package/dist/adapters/prisma/config.d.ts.map +1 -1
  51. package/dist/adapters/prisma/config.js +1 -4
  52. package/dist/adapters/prisma/config.js.map +1 -1
  53. package/dist/adapters/prisma/model.d.ts +7 -8
  54. package/dist/adapters/prisma/model.d.ts.map +1 -1
  55. package/dist/adapters/prisma/model.js +11 -79
  56. package/dist/adapters/prisma/model.js.map +1 -1
  57. package/dist/adapters/utils/cookie.d.ts +17 -0
  58. package/dist/adapters/utils/cookie.d.ts.map +1 -0
  59. package/dist/adapters/utils/cookie.js +59 -0
  60. package/dist/adapters/utils/cookie.js.map +1 -0
  61. package/dist/adapters/utils/session.d.ts +4 -0
  62. package/dist/adapters/utils/session.d.ts.map +1 -0
  63. package/dist/adapters/utils/session.js +216 -0
  64. package/dist/adapters/utils/session.js.map +1 -0
  65. package/dist/adapters/utils/social.d.ts +51 -0
  66. package/dist/adapters/utils/social.d.ts.map +1 -0
  67. package/dist/adapters/utils/social.js +278 -0
  68. package/dist/adapters/utils/social.js.map +1 -0
  69. package/dist/adapters/utils/types.d.ts +67 -0
  70. package/dist/adapters/utils/types.d.ts.map +1 -0
  71. package/dist/adapters/utils/types.js +2 -0
  72. package/dist/adapters/utils/types.js.map +1 -0
  73. package/package.json +40 -3
  74. package/src/adapters/drizzle/schema.ts +47 -0
  75. package/src/adapters/prisma/schema.prisma +38 -0
@@ -0,0 +1,216 @@
1
+ import { createError, isAuthError } from "../../errors.js";
2
+ import { createSessionCache } from "../../session/cache.js";
3
+ import { formatRenewAt, parseSessionToken } from "../../session/cookie.js";
4
+ import { createCookieHeader, getCookieValue, resolveHttpCookie } from "./cookie.js";
5
+ const canUseCache = (method) => method === "GET" || method === "HEAD";
6
+ export const createHttpSession = ({ appendSetCookie, auth, cache, cookie, framework, getHeader, getIp, getMethod, secret, }) => {
7
+ if (getIp !== undefined && typeof getIp !== "function") {
8
+ throw createError({
9
+ code: "AUTH_CONFIG_INVALID",
10
+ message: `${framework} getIp must be a function.`,
11
+ });
12
+ }
13
+ if (auth.config.session.validation.includes("ip") && !getIp) {
14
+ throw createError({
15
+ code: "AUTH_CONFIG_INVALID",
16
+ message: `${framework} getIp is required when session validation includes ip.`,
17
+ });
18
+ }
19
+ const resolvedCookie = resolveHttpCookie(cookie);
20
+ let cacheService = null;
21
+ if (cache !== undefined) {
22
+ if (typeof secret !== "string") {
23
+ throw createError({
24
+ code: "AUTH_CONFIG_INVALID",
25
+ message: "Authentication secret is required when session cache is configured.",
26
+ });
27
+ }
28
+ cacheService = createSessionCache({
29
+ config: cache,
30
+ secret,
31
+ session: auth.config.session,
32
+ });
33
+ }
34
+ const getCookie = ({ name, request }) => {
35
+ const header = getHeader({ name: "cookie", request });
36
+ return getCookieValue({
37
+ ...(header === undefined ? {} : { header }),
38
+ name,
39
+ });
40
+ };
41
+ const getSessionClient = async (request) => ({
42
+ agent: getHeader({ name: "user-agent", request }) ?? null,
43
+ ip: getIp ? ((await getIp(request)) ?? null) : null,
44
+ platform: getHeader({ name: "sec-ch-ua-platform", request }) ?? null,
45
+ });
46
+ const getToken = (request) => {
47
+ return parseSessionToken(getCookie({ name: resolvedCookie.names.sessionName, request }));
48
+ };
49
+ const setCookie = ({ expires, maxAge, name, response, value, }) => {
50
+ appendSetCookie({
51
+ response,
52
+ value: createCookieHeader({
53
+ ...(expires === undefined ? {} : { expires }),
54
+ ...(maxAge === undefined ? {} : { maxAge }),
55
+ name,
56
+ options: resolvedCookie.options,
57
+ value,
58
+ }),
59
+ });
60
+ };
61
+ const deleteCookie = ({ name, response }) => {
62
+ setCookie({
63
+ expires: new Date(0),
64
+ maxAge: 0,
65
+ name,
66
+ response,
67
+ value: "",
68
+ });
69
+ };
70
+ const setSession = ({ response, session, token, }) => {
71
+ setCookie({
72
+ expires: session.expires_at,
73
+ name: resolvedCookie.names.sessionName,
74
+ response,
75
+ value: token,
76
+ });
77
+ setCookie({
78
+ expires: session.expires_at,
79
+ name: resolvedCookie.names.renewName,
80
+ response,
81
+ value: formatRenewAt(session.renew_at),
82
+ });
83
+ };
84
+ const setCache = ({ response, session, token, }) => {
85
+ if (!cacheService) {
86
+ return;
87
+ }
88
+ const cached = cacheService.create({ resolved: session, token });
89
+ setCookie({
90
+ expires: cached.expires_at,
91
+ name: resolvedCookie.names.cacheName,
92
+ response,
93
+ value: cached.value,
94
+ });
95
+ };
96
+ const clearCache = (response) => {
97
+ if (cacheService) {
98
+ deleteCookie({ name: resolvedCookie.names.cacheName, response });
99
+ }
100
+ };
101
+ const clearSession = (response) => {
102
+ deleteCookie({ name: resolvedCookie.names.sessionName, response });
103
+ deleteCookie({ name: resolvedCookie.names.cacheName, response });
104
+ deleteCookie({ name: resolvedCookie.names.renewName, response });
105
+ };
106
+ const requireToken = ({ request, response }) => {
107
+ const token = getToken(request);
108
+ if (!token) {
109
+ clearSession(response);
110
+ throw createError({
111
+ code: "SESSION_INVALID",
112
+ message: "Authentication required.",
113
+ });
114
+ }
115
+ return token;
116
+ };
117
+ const resolveDbSession = async ({ client, response, token, }) => {
118
+ let value;
119
+ try {
120
+ value = await auth.session.resolve({ client, token });
121
+ }
122
+ catch (error) {
123
+ if (isAuthError(error) && error.code === "SESSION_CLIENT_MISMATCH") {
124
+ clearSession(response);
125
+ }
126
+ throw error;
127
+ }
128
+ if (!value) {
129
+ clearSession(response);
130
+ throw createError({
131
+ code: "SESSION_INVALID",
132
+ message: "Authentication required.",
133
+ });
134
+ }
135
+ return value;
136
+ };
137
+ const createSession = async ({ account_id, country, request, response }) => {
138
+ const created = await auth.session.create({
139
+ account_id,
140
+ client: await getSessionClient(request),
141
+ ...(country === undefined ? {} : { country }),
142
+ });
143
+ const value = {
144
+ account: created.account,
145
+ session: created.session,
146
+ };
147
+ setSession({ response, session: created.session, token: created.token });
148
+ setCache({ response, session: value, token: created.token });
149
+ return created.session;
150
+ };
151
+ const resolveSession = async ({ request, response }) => {
152
+ const token = requireToken({ request, response });
153
+ const client = await getSessionClient(request);
154
+ const useCache = canUseCache(getMethod(request));
155
+ if (cacheService && useCache) {
156
+ const cached = cacheService.resolve({
157
+ client,
158
+ token,
159
+ value: getCookie({ name: resolvedCookie.names.cacheName, request }),
160
+ });
161
+ if (cached) {
162
+ return cached;
163
+ }
164
+ }
165
+ const value = await resolveDbSession({ client, response, token });
166
+ if (cacheService && useCache) {
167
+ setCache({ response, session: value, token });
168
+ }
169
+ else {
170
+ clearCache(response);
171
+ }
172
+ return value;
173
+ };
174
+ const renewSession = async ({ request, response, }) => {
175
+ const token = requireToken({ request, response });
176
+ let renewed;
177
+ try {
178
+ renewed = await auth.session.renew({
179
+ client: await getSessionClient(request),
180
+ token,
181
+ });
182
+ }
183
+ catch (error) {
184
+ if (isAuthError(error) && error.code === "SESSION_CLIENT_MISMATCH") {
185
+ clearSession(response);
186
+ }
187
+ throw error;
188
+ }
189
+ if (!renewed) {
190
+ clearSession(response);
191
+ throw createError({
192
+ code: "SESSION_INVALID",
193
+ message: "Authentication required.",
194
+ });
195
+ }
196
+ setSession({ response, session: renewed.session, token });
197
+ setCache({ response, session: renewed, token });
198
+ return renewed.session;
199
+ };
200
+ const revokeSession = async ({ request, response }) => {
201
+ const token = getToken(request);
202
+ const revoked = token ? await auth.session.revokeToken(token) : [];
203
+ clearSession(response);
204
+ return revoked;
205
+ };
206
+ return {
207
+ clearSession,
208
+ cookie: resolvedCookie.names,
209
+ createSession,
210
+ getToken,
211
+ renewSession,
212
+ resolveSession,
213
+ revokeSession,
214
+ };
215
+ };
216
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/adapters/utils/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAqB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA6BpF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC;AAEvF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAoD,EACjF,eAAe,EACf,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,KAAK,EACL,SAAS,EACT,MAAM,GACyC,EAIjD,EAAE;IACA,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QACrD,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,SAAS,4BAA4B;SACpD,CAAC,CAAC;IACP,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,SAAS,yDAAyD;SACjF,CAAC,CAAC;IACP,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,YAAY,GAAkC,IAAI,CAAC;IAEvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,WAAW,CAAC;gBACd,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,qEAAqE;aACjF,CAAC,CAAC;QACP,CAAC;QAED,YAAY,GAAG,kBAAkB,CAAW;YACxC,MAAM,EAAE,KAAK;YACb,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAuC,EAAE,EAAE;QACzE,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtD,OAAO,cAAc,CAAC;YAClB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI;SACP,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAiB,EAA+B,EAAE,CAAC,CAAC;QAChF,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI;QACzD,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACnD,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI;KACvE,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAAC,OAAiB,EAAiB,EAAE;QAClD,OAAO,iBAAiB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,EACf,OAAO,EACP,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,GACmB,EAAQ,EAAE;QAClC,eAAe,CAAC;YACZ,QAAQ;YACR,KAAK,EAAE,kBAAkB,CAAC;gBACtB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;gBAC7C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC3C,IAAI;gBACJ,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,KAAK;aACR,CAAC;SACL,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAyC,EAAQ,EAAE;QACrF,SAAS,CAAC;YACN,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,CAAC;YACT,IAAI;YACJ,QAAQ;YACR,KAAK,EAAE,EAAE;SACZ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,EAChB,QAAQ,EACR,OAAO,EACP,KAAK,GAC8B,EAAQ,EAAE;QAC7C,SAAS,CAAC;YACN,OAAO,EAAE,OAAO,CAAC,UAAU;YAC3B,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW;YACtC,QAAQ;YACR,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;QACH,SAAS,CAAC;YACN,OAAO,EAAE,OAAO,CAAC,UAAU;YAC3B,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS;YACpC,QAAQ;YACR,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;SACzC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,EACd,QAAQ,EACR,OAAO,EACP,KAAK,GAC4B,EAAQ,EAAE;QAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,SAAS,CAAC;YACN,OAAO,EAAE,MAAM,CAAC,UAAU;YAC1B,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS;YACpC,QAAQ;YACR,KAAK,EAAE,MAAM,CAAC,KAAK;SACtB,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,QAAmB,EAAQ,EAAE;QAC7C,IAAI,YAAY,EAAE,CAAC;YACf,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,QAAmB,EAAQ,EAAE;QAC/C,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnE,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAyC,EAAU,EAAE;QAC1F,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,WAAW,CAAC;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,0BAA0B;aACtC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAC5B,MAAM,EACN,QAAQ,EACR,KAAK,GAC0B,EAAsC,EAAE;QACvE,IAAI,KAAK,CAAC;QAEV,IAAI,CAAC;YACD,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBACjE,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAED,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,WAAW,CAAC;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,0BAA0B;aACtC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,aAAa,GAIE,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACtC,UAAU;YACV,MAAM,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC;YACvC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,KAAK,GAA8B;YACrC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC;QAEF,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACzE,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,OAAO,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,cAAc,GAIE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAEjD,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;gBAChC,MAAM;gBACN,KAAK;gBACL,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;aACtE,CAAC,CAAC;YAEH,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAElE,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAsE,KAAK,EAAE,EAC3F,OAAO,EACP,QAAQ,GACX,EAAE,EAAE;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC;QAEZ,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC/B,MAAM,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC;gBACvC,KAAK;aACR,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBACjE,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAED,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,WAAW,CAAC;gBACd,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,0BAA0B;aACtC,CAAC,CAAC;QACP,CAAC;QAED,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,aAAa,GAIE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO;QACH,YAAY;QACZ,MAAM,EAAE,cAAc,CAAC,KAAK;QAC5B,aAAa;QACb,QAAQ;QACR,YAAY;QACZ,cAAc;QACd,aAAa;KAChB,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { SocialAuthenticated, SocialConfig, SocialDbAdapter, SocialIdentity } from "../../social/types.js";
2
+ import type { AuthAccount, DbAdapter } from "../../session/types.js";
3
+ import type { HttpCookieOptions } from "./types.js";
4
+ type HttpSocialConfig<TRequest, TResponse, TAccount extends AuthAccount, TData> = {
5
+ appendSetCookie: (input: {
6
+ response: TResponse;
7
+ value: string;
8
+ }) => void;
9
+ config: SocialConfig<TData>;
10
+ cookie: HttpCookieOptions;
11
+ db: SocialDbAdapter<TAccount>;
12
+ getHeader: (input: {
13
+ name: string;
14
+ request: TRequest;
15
+ }) => string | undefined;
16
+ getParam: (input: {
17
+ name: "action" | "provider";
18
+ request: TRequest;
19
+ }) => string | undefined;
20
+ getQuery: (input: {
21
+ name: string;
22
+ request: TRequest;
23
+ }) => string | undefined;
24
+ sessionCookieNames: readonly string[];
25
+ secret: string;
26
+ };
27
+ type HttpSocialInput<TRequest, TResponse> = {
28
+ request: TRequest;
29
+ response: TResponse;
30
+ };
31
+ type CompleteRegistrationInput<TRequest, TResponse, TData> = HttpSocialInput<TRequest, TResponse> & {
32
+ data: TData;
33
+ };
34
+ export type HttpSocialResult<TAccount extends AuthAccount> = {
35
+ type: "authenticated";
36
+ value: SocialAuthenticated<TAccount>;
37
+ } | {
38
+ type: "not_found";
39
+ } | {
40
+ type: "redirect";
41
+ url: string;
42
+ };
43
+ export type HttpSocial<TRequest, TResponse, TAccount extends AuthAccount, TData> = {
44
+ completeRegistration(input: CompleteRegistrationInput<TRequest, TResponse, TData>): Promise<SocialAuthenticated<TAccount>>;
45
+ getRegistration(input: HttpSocialInput<TRequest, TResponse>): SocialIdentity;
46
+ handle(input: HttpSocialInput<TRequest, TResponse>): Promise<HttpSocialResult<TAccount>>;
47
+ };
48
+ export declare const requireSocialDb: <TAccount extends AuthAccount>(db: DbAdapter<TAccount>) => DbAdapter<TAccount> & SocialDbAdapter<TAccount>;
49
+ export declare const createHttpSocial: <TRequest, TResponse, TAccount extends AuthAccount, TData>({ appendSetCookie, config: input, cookie, db, getHeader, getParam, getQuery, sessionCookieNames, secret, }: HttpSocialConfig<TRequest, TResponse, TAccount, TData>) => HttpSocial<TRequest, TResponse, TAccount, TData>;
50
+ export {};
51
+ //# sourceMappingURL=social.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"social.d.ts","sourceRoot":"","sources":["../../../src/adapters/utils/social.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,278 @@
1
+ import { createError, isAuthError } from "../../errors.js";
2
+ import { resolveSocialConfig } from "../../social/config.js";
3
+ import { addSocialError, resolveSocialNavigation } from "../../social/navigation.js";
4
+ import { createSocialService } from "../../social/service.js";
5
+ import { createOAuthState, createRegistrationState, resolveOAuthState, resolveRegistrationState, validateSocialSecret, } from "../../social/state.js";
6
+ import { createCookieHeader, getCookieValue } from "./cookie.js";
7
+ const SOCIAL_ERROR_CODES = new Set([
8
+ "SOCIAL_ACCOUNT_INVALID",
9
+ "SOCIAL_ACCOUNT_NOT_FOUND",
10
+ "SOCIAL_EMAIL_INVALID",
11
+ "SOCIAL_EMAIL_MISMATCH",
12
+ "SOCIAL_PROVIDER_ERROR",
13
+ "SOCIAL_REGISTRATION_INVALID",
14
+ "SOCIAL_STATE_INVALID",
15
+ ]);
16
+ const getProviderId = (value) => {
17
+ return value === "github" || value === "google" || value === "x" ? value : null;
18
+ };
19
+ const getIntent = (value) => {
20
+ if (value === undefined || value === "login") {
21
+ return "login";
22
+ }
23
+ if (value === "register") {
24
+ return value;
25
+ }
26
+ throw createError({
27
+ code: "SOCIAL_STATE_INVALID",
28
+ message: "Social authentication intent is invalid.",
29
+ });
30
+ };
31
+ export const requireSocialDb = (db) => {
32
+ const socialDb = db;
33
+ const methods = [
34
+ "createAccount",
35
+ "createSocial",
36
+ "findAccount",
37
+ "findEmail",
38
+ "findSocial",
39
+ ];
40
+ if (methods.some((method) => typeof socialDb[method] !== "function")) {
41
+ throw createError({
42
+ code: "AUTH_CONFIG_INVALID",
43
+ message: "DB adapter does not support social authentication.",
44
+ });
45
+ }
46
+ return socialDb;
47
+ };
48
+ export const createHttpSocial = ({ appendSetCookie, config: input, cookie, db, getHeader, getParam, getQuery, sessionCookieNames, secret, }) => {
49
+ validateSocialSecret(secret);
50
+ if (cookie.sameSite === "Strict") {
51
+ throw createError({
52
+ code: "AUTH_CONFIG_INVALID",
53
+ message: "Social authentication requires SameSite=Lax or SameSite=None cookies.",
54
+ });
55
+ }
56
+ const config = resolveSocialConfig(input);
57
+ if (sessionCookieNames.includes(config.cookieName)) {
58
+ throw createError({
59
+ code: "AUTH_CONFIG_INVALID",
60
+ message: "Social and session cookie names must be unique.",
61
+ });
62
+ }
63
+ if (config.cookieName.startsWith("__Host-") &&
64
+ (!cookie.secure || cookie.path !== "/" || cookie.domain)) {
65
+ throw createError({
66
+ code: "AUTH_CONFIG_INVALID",
67
+ message: "__Host- cookies require secure=true, path=/, and no domain.",
68
+ });
69
+ }
70
+ if (config.cookieName.startsWith("__Secure-") && !cookie.secure) {
71
+ throw createError({
72
+ code: "AUTH_CONFIG_INVALID",
73
+ message: "__Secure- cookies require secure=true.",
74
+ });
75
+ }
76
+ const service = createSocialService({
77
+ db,
78
+ registration: config.registration,
79
+ });
80
+ const getCookie = (request) => {
81
+ const header = getHeader({ name: "cookie", request });
82
+ return getCookieValue({
83
+ ...(header === undefined ? {} : { header }),
84
+ name: config.cookieName,
85
+ });
86
+ };
87
+ const setSocial = ({ expires, response, value, }) => {
88
+ appendSetCookie({
89
+ response,
90
+ value: createCookieHeader({
91
+ expires,
92
+ name: config.cookieName,
93
+ options: cookie,
94
+ value,
95
+ }),
96
+ });
97
+ };
98
+ const clearSocial = (response) => {
99
+ appendSetCookie({
100
+ response,
101
+ value: createCookieHeader({
102
+ expires: new Date(0),
103
+ maxAge: 0,
104
+ name: config.cookieName,
105
+ options: cookie,
106
+ value: "",
107
+ }),
108
+ });
109
+ };
110
+ const requireProvider = (value) => {
111
+ const id = getProviderId(value);
112
+ const provider = id ? config.providers.get(id) : undefined;
113
+ if (!provider) {
114
+ throw createError({
115
+ code: "SOCIAL_PROVIDER_ERROR",
116
+ message: "Social provider is not configured.",
117
+ });
118
+ }
119
+ return provider;
120
+ };
121
+ const fail = ({ error, errorTo, response, }) => {
122
+ if (!isAuthError(error) || !SOCIAL_ERROR_CODES.has(error.code)) {
123
+ throw error;
124
+ }
125
+ clearSocial(response);
126
+ return {
127
+ type: "redirect",
128
+ url: addSocialError({ code: error.code, path: errorTo }),
129
+ };
130
+ };
131
+ const authenticate = async ({ intent, navigation, provider, request, response, verifier, }) => {
132
+ const code = getQuery({ name: "code", request });
133
+ const providerError = getQuery({ name: "error", request });
134
+ if (providerError || !code) {
135
+ throw createError({
136
+ code: "SOCIAL_PROVIDER_ERROR",
137
+ message: "Social provider denied authentication.",
138
+ });
139
+ }
140
+ const identity = await provider.getIdentity({ code, codeVerifier: verifier });
141
+ const account = await service.find(identity);
142
+ if (account) {
143
+ return {
144
+ type: "authenticated",
145
+ value: {
146
+ account,
147
+ identity,
148
+ registered: false,
149
+ returnTo: navigation.returnTo,
150
+ },
151
+ };
152
+ }
153
+ if (intent !== "register" || !config.registration) {
154
+ throw createError({
155
+ code: "SOCIAL_ACCOUNT_NOT_FOUND",
156
+ message: "Social account does not exist.",
157
+ });
158
+ }
159
+ if (navigation.registerTo) {
160
+ if (!config.registration.createAccount) {
161
+ throw createError({
162
+ code: "SOCIAL_REGISTRATION_INVALID",
163
+ message: "Custom social registration is not configured.",
164
+ });
165
+ }
166
+ const pending = createRegistrationState({ identity, navigation, secret });
167
+ setSocial({ expires: pending.expires_at, response, value: pending.value });
168
+ return { type: "redirect", url: navigation.registerTo };
169
+ }
170
+ const created = await service.register({
171
+ data: undefined,
172
+ identity,
173
+ });
174
+ return {
175
+ type: "authenticated",
176
+ value: {
177
+ account: created,
178
+ identity,
179
+ registered: true,
180
+ returnTo: navigation.returnTo,
181
+ },
182
+ };
183
+ };
184
+ const handle = async ({ request, response, }) => {
185
+ const action = getParam({ name: "action", request });
186
+ if (action !== "start" && action !== "callback") {
187
+ return { type: "not_found" };
188
+ }
189
+ const provider = requireProvider(getParam({ name: "provider", request }));
190
+ if (action === "start") {
191
+ const navigation = resolveSocialNavigation({
192
+ errorTo: getQuery({ name: "errorTo", request }),
193
+ registerTo: getQuery({ name: "registerTo", request }),
194
+ returnTo: getQuery({ name: "returnTo", request }),
195
+ });
196
+ const created = createOAuthState({
197
+ intent: getIntent(getQuery({ name: "intent", request })),
198
+ navigation,
199
+ provider: provider.id,
200
+ secret,
201
+ });
202
+ setSocial({ expires: created.expires_at, response, value: created.value });
203
+ return {
204
+ type: "redirect",
205
+ url: provider.getAuthorizationUrl({
206
+ codeChallenge: created.codeChallenge,
207
+ state: created.state,
208
+ }),
209
+ };
210
+ }
211
+ const stored = resolveOAuthState({
212
+ provider: provider.id,
213
+ secret,
214
+ state: getQuery({ name: "state", request }),
215
+ value: getCookie(request),
216
+ });
217
+ if (!stored) {
218
+ clearSocial(response);
219
+ throw createError({
220
+ code: "SOCIAL_STATE_INVALID",
221
+ message: "Social authentication state is invalid or expired.",
222
+ });
223
+ }
224
+ let result;
225
+ try {
226
+ result = await authenticate({
227
+ intent: stored.intent,
228
+ navigation: stored,
229
+ provider,
230
+ request,
231
+ response,
232
+ verifier: stored.verifier,
233
+ });
234
+ }
235
+ catch (error) {
236
+ return fail({ error, errorTo: stored.errorTo, response });
237
+ }
238
+ if (result.type !== "authenticated") {
239
+ return result;
240
+ }
241
+ clearSocial(response);
242
+ return result;
243
+ };
244
+ const requireRegistration = ({ request, response }) => {
245
+ const registration = resolveRegistrationState({
246
+ secret,
247
+ value: getCookie(request),
248
+ });
249
+ if (!registration) {
250
+ clearSocial(response);
251
+ throw createError({
252
+ code: "SOCIAL_STATE_INVALID",
253
+ message: "Social registration is invalid or expired.",
254
+ });
255
+ }
256
+ return registration;
257
+ };
258
+ const getRegistration = (value) => {
259
+ return requireRegistration(value).identity;
260
+ };
261
+ const completeRegistration = async ({ data, request, response, }) => {
262
+ const registration = requireRegistration({ request, response });
263
+ const account = await service.register({ data, identity: registration.identity });
264
+ clearSocial(response);
265
+ return {
266
+ account,
267
+ identity: registration.identity,
268
+ registered: true,
269
+ returnTo: registration.navigation.returnTo,
270
+ };
271
+ };
272
+ return {
273
+ completeRegistration,
274
+ getRegistration,
275
+ handle,
276
+ };
277
+ };
278
+ //# sourceMappingURL=social.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"social.js","sourceRoot":"","sources":["../../../src/adapters/utils/social.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import type { Auth } from "../../auth.js";
2
+ import type { SessionCacheConfig } from "../../session/cache.js";
3
+ import type { SessionCookieNames } from "../../session/cookie.js";
4
+ import type { AuthAccount, ResolvedSession, Session } from "../../session/types.js";
5
+ export type HttpCookieConfig = {
6
+ cacheName?: string;
7
+ domain?: string;
8
+ path?: string;
9
+ renewName?: string;
10
+ sameSite?: "Strict" | "Lax" | "None";
11
+ secure?: boolean;
12
+ sessionName?: string;
13
+ };
14
+ export type HttpCookieOptions = {
15
+ domain?: string;
16
+ httpOnly: true;
17
+ path: string;
18
+ sameSite: "Strict" | "Lax" | "None";
19
+ secure: boolean;
20
+ };
21
+ export type ResolvedHttpCookie = {
22
+ names: SessionCookieNames;
23
+ options: HttpCookieOptions;
24
+ };
25
+ export type HttpGetIp<TRequest> = (request: TRequest) => Promise<string | null | undefined> | string | null | undefined;
26
+ export type HttpSessionConfig<TRequest, TResponse, TAccount extends AuthAccount> = {
27
+ appendSetCookie: (input: {
28
+ response: TResponse;
29
+ value: string;
30
+ }) => void;
31
+ auth: Auth<TAccount>;
32
+ cache?: SessionCacheConfig;
33
+ cookie?: HttpCookieConfig;
34
+ framework: string;
35
+ getHeader: (input: {
36
+ name: string;
37
+ request: TRequest;
38
+ }) => string | undefined;
39
+ getIp?: HttpGetIp<TRequest>;
40
+ getMethod: (request: TRequest) => string;
41
+ secret?: string;
42
+ };
43
+ export type HttpCreateSessionInput<TRequest, TResponse> = {
44
+ account_id: string;
45
+ country?: string | null;
46
+ request: TRequest;
47
+ response: TResponse;
48
+ };
49
+ export type HttpRequestInput<TRequest, TResponse> = {
50
+ request: TRequest;
51
+ response: TResponse;
52
+ };
53
+ export type HttpSessionAdapter<TRequest, TResponse, TAccount extends AuthAccount> = {
54
+ clearSession(response: TResponse): void;
55
+ cookie: Readonly<SessionCookieNames>;
56
+ createSession(input: HttpCreateSessionInput<TRequest, TResponse>): Promise<Session>;
57
+ getToken(request: TRequest): string | null;
58
+ renewSession(input: HttpRequestInput<TRequest, TResponse>): Promise<Session>;
59
+ resolveSession(input: HttpRequestInput<TRequest, TResponse>): Promise<ResolvedSession<TAccount>>;
60
+ revokeSession(input: HttpRequestInput<TRequest, TResponse>): Promise<string[]>;
61
+ };
62
+ export type HttpAuthContext<TAccount extends AuthAccount> = {
63
+ account: TAccount;
64
+ session: Session;
65
+ user: TAccount["user"];
66
+ };
67
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/utils/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/utils/types.ts"],"names":[],"mappings":""}