@gauts/auth 0.6.3 → 0.7.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.
- package/README.md +486 -198
- package/SECURITY.md +10 -2
- package/dist/adapters/hono/index.d.ts +29 -4
- package/dist/adapters/hono/index.d.ts.map +1 -1
- package/dist/adapters/hono/index.js +42 -8
- package/dist/adapters/hono/index.js.map +1 -1
- package/dist/adapters/hono/social.d.ts +34 -0
- package/dist/adapters/hono/social.d.ts.map +1 -0
- package/dist/adapters/hono/social.js +202 -0
- package/dist/adapters/hono/social.js.map +1 -0
- package/dist/adapters/prisma/config.d.ts.map +1 -1
- package/dist/adapters/prisma/config.js +85 -71
- package/dist/adapters/prisma/config.js.map +1 -1
- package/dist/adapters/prisma/index.d.ts +1 -1
- package/dist/adapters/prisma/index.d.ts.map +1 -1
- package/dist/adapters/prisma/index.js +90 -13
- package/dist/adapters/prisma/index.js.map +1 -1
- package/dist/adapters/prisma/model.d.ts +40 -7
- package/dist/adapters/prisma/model.d.ts.map +1 -1
- package/dist/adapters/prisma/model.js +38 -24
- package/dist/adapters/prisma/model.js.map +1 -1
- package/dist/adapters/prisma/types.d.ts +60 -72
- package/dist/adapters/prisma/types.d.ts.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/providers/common.d.ts +31 -0
- package/dist/providers/common.d.ts.map +1 -0
- package/dist/providers/common.js +89 -0
- package/dist/providers/common.js.map +1 -0
- package/dist/providers/github.d.ts +5 -0
- package/dist/providers/github.d.ts.map +1 -0
- package/dist/providers/github.js +93 -0
- package/dist/providers/github.js.map +1 -0
- package/dist/providers/google.d.ts +5 -0
- package/dist/providers/google.d.ts.map +1 -0
- package/dist/providers/google.js +58 -0
- package/dist/providers/google.js.map +1 -0
- package/dist/providers/index.d.ts +7 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +4 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/x.d.ts +5 -0
- package/dist/providers/x.d.ts.map +1 -0
- package/dist/providers/x.js +63 -0
- package/dist/providers/x.js.map +1 -0
- package/dist/session/cookie.d.ts +4 -0
- package/dist/session/cookie.d.ts.map +1 -1
- package/dist/session/cookie.js +9 -3
- package/dist/session/cookie.js.map +1 -1
- package/dist/session/guards.d.ts.map +1 -1
- package/dist/session/guards.js +7 -1
- package/dist/session/guards.js.map +1 -1
- package/dist/session/service.d.ts.map +1 -1
- package/dist/session/service.js +6 -0
- package/dist/session/service.js.map +1 -1
- package/dist/session/types.d.ts +10 -1
- package/dist/session/types.d.ts.map +1 -1
- package/dist/social/config.d.ts +3 -0
- package/dist/social/config.d.ts.map +1 -0
- package/dist/social/config.js +115 -0
- package/dist/social/config.js.map +1 -0
- package/dist/social/service.d.ts +18 -0
- package/dist/social/service.d.ts.map +1 -0
- package/dist/social/service.js +78 -0
- package/dist/social/service.js.map +1 -0
- package/dist/social/state.d.ts +46 -0
- package/dist/social/state.d.ts.map +1 -0
- package/dist/social/state.js +139 -0
- package/dist/social/state.js.map +1 -0
- package/dist/social/types.d.ts +75 -0
- package/dist/social/types.d.ts.map +1 -0
- package/dist/social/types.js +2 -0
- package/dist/social/types.js.map +1 -0
- package/package.json +7 -2
package/SECURITY.md
CHANGED
|
@@ -6,8 +6,8 @@ Security fixes are provided for the latest published minor version.
|
|
|
6
6
|
|
|
7
7
|
| Version | Supported |
|
|
8
8
|
| --- | --- |
|
|
9
|
-
|
|
|
10
|
-
|
|
|
9
|
+
| Latest release | Yes |
|
|
10
|
+
| Older releases | No |
|
|
11
11
|
|
|
12
12
|
## Reporting a vulnerability
|
|
13
13
|
|
|
@@ -44,3 +44,11 @@ Keep `AUTH_SECRET` in the API environment. Do not expose it to browser code or s
|
|
|
44
44
|
Sliding renewal is limited by `session.maxLifetime`, which defaults to 30 days from the original login. The maximum expiry is derived from the immutable session `created_at` value and enforced by the core during resolution and renewal. Browser cookies and cached session data never outlive the authoritative session expiry.
|
|
45
45
|
|
|
46
46
|
Activity and possession of the session token cannot extend this absolute limit. After it is reached, the user must authenticate again and receive a new session token.
|
|
47
|
+
|
|
48
|
+
## Social authentication
|
|
49
|
+
|
|
50
|
+
Configured providers use OAuth Authorization Code with PKCE `S256`. A cryptographically random state value and PKCE verifier are bound to a signed, HttpOnly transaction cookie that expires after 10 minutes. The package accepts only verified provider email addresses and stores only the normalized provider name and stable provider account ID.
|
|
51
|
+
|
|
52
|
+
Provider access tokens, refresh tokens, and raw profiles are never persisted or exposed to registration callbacks. Success, error, callback, and optional registration URLs are fixed startup configuration; request parameters cannot select redirect targets.
|
|
53
|
+
|
|
54
|
+
The consuming application must protect custom social registration endpoints with its normal CSRF, host, origin, rate-limit, and validation policies. `AUTH_SECRET` must remain server-only and contain at least 32 high-entropy bytes.
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type { Context, Env, MiddlewareHandler } from "hono";
|
|
2
2
|
import { type Auth, type AuthDeps } from "../../auth.js";
|
|
3
3
|
import { type SessionCacheConfig } from "../../session/cache.js";
|
|
4
|
-
import type { AuthAccount, ResolvedSession, Session } from "../../session/types.js";
|
|
4
|
+
import type { AuthAccount, DbAdapter, ResolvedSession, Session } from "../../session/types.js";
|
|
5
|
+
import type { SocialConfig, SocialDbAdapter } from "../../social/types.js";
|
|
6
|
+
import { type HonoSocial } from "./social.js";
|
|
5
7
|
export type { SessionCacheConfig } from "../../session/cache.js";
|
|
8
|
+
export type { HonoSocial } from "./social.js";
|
|
6
9
|
import { type SessionCookieNames } from "../../session/cookie.js";
|
|
7
10
|
export type HonoAuthVariables<TAccount extends AuthAccount = AuthAccount> = {
|
|
8
11
|
account: TAccount;
|
|
9
12
|
session: Session;
|
|
13
|
+
user: TAccount["user"];
|
|
10
14
|
};
|
|
11
15
|
export type HonoAuthEnv<TAccount extends AuthAccount = AuthAccount> = Env & {
|
|
12
16
|
Variables: HonoAuthVariables<TAccount>;
|
|
@@ -35,14 +39,24 @@ export type HonoAdapterConfig<TAccount extends AuthAccount = AuthAccount> = {
|
|
|
35
39
|
getIp?: HonoGetIp;
|
|
36
40
|
secret?: string;
|
|
37
41
|
};
|
|
38
|
-
type HonoAuthBase<TAccount extends AuthAccount> = AuthDeps<TAccount> & {
|
|
42
|
+
type HonoAuthBase<TAccount extends AuthAccount> = Omit<AuthDeps<TAccount>, "db"> & {
|
|
39
43
|
cookie?: HonoCookieConfig;
|
|
44
|
+
db: DbAdapter<TAccount>;
|
|
40
45
|
getIp?: HonoGetIp;
|
|
41
46
|
};
|
|
42
|
-
|
|
47
|
+
type HonoSocialOptions<TAccount extends AuthAccount, TData> = {
|
|
48
|
+
db: DbAdapter<TAccount> & SocialDbAdapter<TAccount>;
|
|
49
|
+
secret: string;
|
|
50
|
+
social: SocialConfig<TData>;
|
|
51
|
+
} | {
|
|
52
|
+
db: DbAdapter<TAccount>;
|
|
53
|
+
social?: undefined;
|
|
54
|
+
};
|
|
55
|
+
export type HonoAuthConfig<TAccount extends AuthAccount = AuthAccount, TData = undefined> = Omit<HonoAuthBase<TAccount>, "db"> & HonoCacheOptions & HonoSocialOptions<TAccount, TData>;
|
|
43
56
|
type CreateSessionInput = {
|
|
44
57
|
account_id: string;
|
|
45
58
|
context: Context;
|
|
59
|
+
country?: string | null;
|
|
46
60
|
};
|
|
47
61
|
export type HonoAdapter<TAccount extends AuthAccount = AuthAccount> = {
|
|
48
62
|
clearSession(c: Context): void;
|
|
@@ -55,6 +69,17 @@ export type HonoAdapter<TAccount extends AuthAccount = AuthAccount> = {
|
|
|
55
69
|
revokeSession(c: Context): Promise<string[]>;
|
|
56
70
|
};
|
|
57
71
|
export type HonoAuth<TAccount extends AuthAccount = AuthAccount> = Auth<TAccount> & HonoAdapter<TAccount>;
|
|
72
|
+
export type HonoSocialAuth<TAccount extends AuthAccount = AuthAccount, TData = undefined> = Auth<TAccount> & HonoAdapter<TAccount> & {
|
|
73
|
+
social: HonoSocial<TData>;
|
|
74
|
+
};
|
|
58
75
|
export declare const createHonoAdapter: <TAccount extends AuthAccount>({ auth, cache, cookie, getIp, secret, }: HonoAdapterConfig<TAccount>) => HonoAdapter<TAccount>;
|
|
59
|
-
|
|
76
|
+
type CreateHonoAuth = {
|
|
77
|
+
<TAccount extends AuthAccount, TData>(input: HonoAuthConfig<TAccount, TData> & {
|
|
78
|
+
social: SocialConfig<TData>;
|
|
79
|
+
}): HonoSocialAuth<TAccount, TData>;
|
|
80
|
+
<TAccount extends AuthAccount>(input: HonoAuthConfig<TAccount> & {
|
|
81
|
+
social?: undefined;
|
|
82
|
+
}): HonoAuth<TAccount>;
|
|
83
|
+
};
|
|
84
|
+
export declare const createHonoAuth: CreateHonoAuth;
|
|
60
85
|
//# 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,EAAc,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGrE,OAAO,EAGH,KAAK,kBAAkB,EAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/hono/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { deleteCookie, getCookie, setCookie } from "hono/cookie";
|
|
|
2
2
|
import { createAuth } from "../../auth.js";
|
|
3
3
|
import { createError, isAuthError } from "../../errors.js";
|
|
4
4
|
import { createSessionCache, } from "../../session/cache.js";
|
|
5
|
+
import { createHonoSocial } from "./social.js";
|
|
5
6
|
import { formatRenewAt, parseSessionToken, resolveSessionCookieNames, } from "../../session/cookie.js";
|
|
6
7
|
const resolveCookie = (config = {}) => {
|
|
7
8
|
const names = resolveSessionCookieNames(config);
|
|
@@ -143,10 +144,11 @@ export const createHonoAdapter = ({ auth, cache, cookie, getIp, secret, }) => {
|
|
|
143
144
|
}
|
|
144
145
|
return value;
|
|
145
146
|
};
|
|
146
|
-
const createSession = async ({ account_id, context }) => {
|
|
147
|
+
const createSession = async ({ account_id, context, country, }) => {
|
|
147
148
|
const created = await auth.session.create({
|
|
148
149
|
account_id,
|
|
149
150
|
client: await getSessionClient(context),
|
|
151
|
+
...(country === undefined ? {} : { country }),
|
|
150
152
|
});
|
|
151
153
|
const value = {
|
|
152
154
|
account: created.account,
|
|
@@ -209,6 +211,7 @@ export const createHonoAdapter = ({ auth, cache, cookie, getIp, secret, }) => {
|
|
|
209
211
|
const value = await resolveSession(c);
|
|
210
212
|
c.set("session", value.session);
|
|
211
213
|
c.set("account", value.account);
|
|
214
|
+
c.set("user", value.account.user);
|
|
212
215
|
await next();
|
|
213
216
|
};
|
|
214
217
|
const revokeSession = async (c) => {
|
|
@@ -228,21 +231,52 @@ export const createHonoAdapter = ({ auth, cache, cookie, getIp, secret, }) => {
|
|
|
228
231
|
revokeSession,
|
|
229
232
|
};
|
|
230
233
|
};
|
|
231
|
-
|
|
234
|
+
const createHonoAuthImpl = ({ cache, cookie, db, getIp, password, secret, session, social, }) => {
|
|
232
235
|
const auth = createAuth({
|
|
233
236
|
db,
|
|
234
237
|
...(password === undefined ? {} : { password }),
|
|
235
238
|
...(session === undefined ? {} : { session }),
|
|
236
239
|
});
|
|
240
|
+
const adapter = createHonoAdapter({
|
|
241
|
+
auth,
|
|
242
|
+
...(cache === undefined ? {} : { cache }),
|
|
243
|
+
...(cookie === undefined ? {} : { cookie }),
|
|
244
|
+
...(getIp === undefined ? {} : { getIp }),
|
|
245
|
+
...(secret === undefined ? {} : { secret }),
|
|
246
|
+
});
|
|
247
|
+
if (social === undefined) {
|
|
248
|
+
return {
|
|
249
|
+
...auth,
|
|
250
|
+
...adapter,
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
const socialDb = db;
|
|
254
|
+
const methods = [
|
|
255
|
+
"createAccount",
|
|
256
|
+
"createSocial",
|
|
257
|
+
"findAccount",
|
|
258
|
+
"findEmail",
|
|
259
|
+
"findSocial",
|
|
260
|
+
];
|
|
261
|
+
if (methods.some((method) => typeof socialDb[method] !== "function")) {
|
|
262
|
+
throw createError({
|
|
263
|
+
code: "AUTH_CONFIG_INVALID",
|
|
264
|
+
message: "DB adapter does not support social authentication.",
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
const resolvedCookie = resolveCookie(cookie);
|
|
237
268
|
return {
|
|
238
269
|
...auth,
|
|
239
|
-
...
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
270
|
+
...adapter,
|
|
271
|
+
social: createHonoSocial({
|
|
272
|
+
config: social,
|
|
273
|
+
cookie: resolvedCookie.options,
|
|
274
|
+
createSession: (input) => adapter.createSession(input),
|
|
275
|
+
db: socialDb,
|
|
276
|
+
sessionCookieNames: Object.values(resolvedCookie.names),
|
|
277
|
+
secret,
|
|
245
278
|
}),
|
|
246
279
|
};
|
|
247
280
|
};
|
|
281
|
+
export const createHonoAuth = createHonoAuthImpl;
|
|
248
282
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/hono/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,UAAU,EAA4B,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACH,kBAAkB,GAGrB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/hono/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Context } from "hono";
|
|
2
|
+
import type { AuthAccount, Session } from "../../session/types.js";
|
|
3
|
+
import type { SocialConfig, SocialDbAdapter, SocialIdentity } from "../../social/types.js";
|
|
4
|
+
type CookieOptions = {
|
|
5
|
+
domain?: string;
|
|
6
|
+
httpOnly: true;
|
|
7
|
+
path: string;
|
|
8
|
+
sameSite: "Strict" | "Lax" | "None";
|
|
9
|
+
secure: boolean;
|
|
10
|
+
};
|
|
11
|
+
type CreateSessionInput = {
|
|
12
|
+
account_id: string;
|
|
13
|
+
context: Context;
|
|
14
|
+
};
|
|
15
|
+
type HonoSocialDeps<TAccount extends AuthAccount, TData> = {
|
|
16
|
+
config: SocialConfig<TData>;
|
|
17
|
+
cookie: CookieOptions;
|
|
18
|
+
createSession: (input: CreateSessionInput) => Promise<Session>;
|
|
19
|
+
db: SocialDbAdapter<TAccount>;
|
|
20
|
+
sessionCookieNames: readonly string[];
|
|
21
|
+
secret: string;
|
|
22
|
+
};
|
|
23
|
+
type CompleteRegistrationInput<TData> = {
|
|
24
|
+
context: Context;
|
|
25
|
+
data: TData;
|
|
26
|
+
};
|
|
27
|
+
export type HonoSocial<TData = undefined> = {
|
|
28
|
+
completeRegistration(input: CompleteRegistrationInput<TData>): Promise<Session>;
|
|
29
|
+
getRegistration(c: Context): SocialIdentity;
|
|
30
|
+
handle: (c: Context) => Promise<Response>;
|
|
31
|
+
};
|
|
32
|
+
export declare const createHonoSocial: <TAccount extends AuthAccount, TData>({ config: input, cookie, createSession, db, sessionCookieNames, secret, }: HonoSocialDeps<TAccount, TData>) => HonoSocial<TData>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=social.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"social.d.ts","sourceRoot":"","sources":["../../../src/adapters/hono/social.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAQnE,OAAO,KAAK,EACR,YAAY,EACZ,eAAe,EACf,cAAc,EAIjB,MAAM,uBAAuB,CAAC;AAE/B,KAAK,aAAa,GAAG;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,CAAC,QAAQ,SAAS,WAAW,EAAE,KAAK,IAAI;IACvD,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,aAAa,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC9B,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,yBAAyB,CAAC,KAAK,IAAI;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,KAAK,GAAG,SAAS,IAAI;IACxC,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC7C,CAAC;AA+CF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,SAAS,WAAW,EAAE,KAAK,EAAE,2EAOnE,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAG,UAAU,CAAC,KAAK,CA+MpD,CAAC"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { deleteCookie, getCookie, setCookie } from "hono/cookie";
|
|
2
|
+
import { createError, isAuthError } from "../../errors.js";
|
|
3
|
+
import { resolveSocialConfig } from "../../social/config.js";
|
|
4
|
+
import { createSocialService } from "../../social/service.js";
|
|
5
|
+
import { createOAuthState, createRegistrationState, resolveOAuthState, resolveRegistrationState, validateSocialSecret, } from "../../social/state.js";
|
|
6
|
+
const SOCIAL_ERROR_CODES = new Set([
|
|
7
|
+
"SOCIAL_ACCOUNT_INVALID",
|
|
8
|
+
"SOCIAL_ACCOUNT_NOT_FOUND",
|
|
9
|
+
"SOCIAL_EMAIL_INVALID",
|
|
10
|
+
"SOCIAL_PROVIDER_ERROR",
|
|
11
|
+
"SOCIAL_REGISTRATION_INVALID",
|
|
12
|
+
"SOCIAL_STATE_INVALID",
|
|
13
|
+
]);
|
|
14
|
+
const getProviderId = (value) => {
|
|
15
|
+
return value === "github" || value === "google" || value === "x" ? value : null;
|
|
16
|
+
};
|
|
17
|
+
const getIntent = (value) => {
|
|
18
|
+
if (value === undefined || value === "login") {
|
|
19
|
+
return "login";
|
|
20
|
+
}
|
|
21
|
+
if (value === "register") {
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
throw createError({
|
|
25
|
+
code: "SOCIAL_STATE_INVALID",
|
|
26
|
+
message: "Social authentication intent is invalid.",
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const getErrorUrl = ({ code, url }) => {
|
|
30
|
+
const target = new URL(url);
|
|
31
|
+
target.searchParams.set("error", code);
|
|
32
|
+
return target.toString();
|
|
33
|
+
};
|
|
34
|
+
export const createHonoSocial = ({ config: input, cookie, createSession, db, sessionCookieNames, secret, }) => {
|
|
35
|
+
validateSocialSecret(secret);
|
|
36
|
+
if (cookie.sameSite === "Strict") {
|
|
37
|
+
throw createError({
|
|
38
|
+
code: "AUTH_CONFIG_INVALID",
|
|
39
|
+
message: "Social authentication requires SameSite=Lax or SameSite=None cookies.",
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
const config = resolveSocialConfig(input);
|
|
43
|
+
if (sessionCookieNames.includes(config.cookieName)) {
|
|
44
|
+
throw createError({
|
|
45
|
+
code: "AUTH_CONFIG_INVALID",
|
|
46
|
+
message: "Social and session cookie names must be unique.",
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
if (config.cookieName.startsWith("__Host-") &&
|
|
50
|
+
(!cookie.secure || cookie.path !== "/" || cookie.domain)) {
|
|
51
|
+
throw createError({
|
|
52
|
+
code: "AUTH_CONFIG_INVALID",
|
|
53
|
+
message: "__Host- cookies require secure=true, path=/, and no domain.",
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
if (config.cookieName.startsWith("__Secure-") && !cookie.secure) {
|
|
57
|
+
throw createError({
|
|
58
|
+
code: "AUTH_CONFIG_INVALID",
|
|
59
|
+
message: "__Secure- cookies require secure=true.",
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
const service = createSocialService({
|
|
63
|
+
db,
|
|
64
|
+
registration: config.registration,
|
|
65
|
+
});
|
|
66
|
+
const clearSocial = (c) => {
|
|
67
|
+
deleteCookie(c, config.cookieName, cookie);
|
|
68
|
+
};
|
|
69
|
+
const setSocial = ({ context, expiresAt, value }) => {
|
|
70
|
+
setCookie(context, config.cookieName, value, {
|
|
71
|
+
...cookie,
|
|
72
|
+
expires: expiresAt,
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
const requireProvider = (value) => {
|
|
76
|
+
const id = getProviderId(value);
|
|
77
|
+
const provider = id ? config.providers.get(id) : undefined;
|
|
78
|
+
if (!provider) {
|
|
79
|
+
throw createError({
|
|
80
|
+
code: "SOCIAL_PROVIDER_ERROR",
|
|
81
|
+
message: "Social provider is not configured.",
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return provider;
|
|
85
|
+
};
|
|
86
|
+
const fail = (c, error) => {
|
|
87
|
+
if (!isAuthError(error) || !SOCIAL_ERROR_CODES.has(error.code)) {
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
clearSocial(c);
|
|
91
|
+
return c.redirect(getErrorUrl({ code: error.code, url: config.errorUrl }));
|
|
92
|
+
};
|
|
93
|
+
const finish = async ({ account_id, context }) => {
|
|
94
|
+
await createSession({ account_id, context });
|
|
95
|
+
clearSocial(context);
|
|
96
|
+
return context.redirect(config.successUrl);
|
|
97
|
+
};
|
|
98
|
+
const handle = async (c) => {
|
|
99
|
+
const action = c.req.param("action");
|
|
100
|
+
if (action !== "start" && action !== "callback") {
|
|
101
|
+
return c.notFound();
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
const provider = requireProvider(c.req.param("provider"));
|
|
105
|
+
if (action === "start") {
|
|
106
|
+
const created = createOAuthState({
|
|
107
|
+
intent: getIntent(c.req.query("intent")),
|
|
108
|
+
provider: provider.id,
|
|
109
|
+
secret,
|
|
110
|
+
});
|
|
111
|
+
setSocial({
|
|
112
|
+
context: c,
|
|
113
|
+
expiresAt: created.expires_at,
|
|
114
|
+
value: created.value,
|
|
115
|
+
});
|
|
116
|
+
return c.redirect(provider.getAuthorizationUrl({
|
|
117
|
+
codeChallenge: created.codeChallenge,
|
|
118
|
+
state: created.state,
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
const code = c.req.query("code");
|
|
122
|
+
const state = c.req.query("state");
|
|
123
|
+
const providerError = c.req.query("error");
|
|
124
|
+
if (providerError || !code) {
|
|
125
|
+
throw createError({
|
|
126
|
+
code: "SOCIAL_PROVIDER_ERROR",
|
|
127
|
+
message: "Social provider denied authentication.",
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
const stored = resolveOAuthState({
|
|
131
|
+
provider: provider.id,
|
|
132
|
+
secret,
|
|
133
|
+
state,
|
|
134
|
+
value: getCookie(c, config.cookieName),
|
|
135
|
+
});
|
|
136
|
+
if (!stored) {
|
|
137
|
+
throw createError({
|
|
138
|
+
code: "SOCIAL_STATE_INVALID",
|
|
139
|
+
message: "Social authentication state is invalid or expired.",
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
const identity = await provider.getIdentity({
|
|
143
|
+
code,
|
|
144
|
+
codeVerifier: stored.verifier,
|
|
145
|
+
});
|
|
146
|
+
const account = await service.find(identity);
|
|
147
|
+
if (account) {
|
|
148
|
+
return await finish({ account_id: account.id, context: c });
|
|
149
|
+
}
|
|
150
|
+
if (stored.intent !== "register" || !config.registration) {
|
|
151
|
+
throw createError({
|
|
152
|
+
code: "SOCIAL_ACCOUNT_NOT_FOUND",
|
|
153
|
+
message: "Social account does not exist.",
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
if (config.registration.registerUrl) {
|
|
157
|
+
const pending = createRegistrationState({ identity, secret });
|
|
158
|
+
setSocial({
|
|
159
|
+
context: c,
|
|
160
|
+
expiresAt: pending.expires_at,
|
|
161
|
+
value: pending.value,
|
|
162
|
+
});
|
|
163
|
+
return c.redirect(config.registration.registerUrl);
|
|
164
|
+
}
|
|
165
|
+
const created = await service.register({
|
|
166
|
+
data: undefined,
|
|
167
|
+
identity,
|
|
168
|
+
});
|
|
169
|
+
return await finish({ account_id: created.id, context: c });
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
return fail(c, error);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
const getRegistration = (c) => {
|
|
176
|
+
const identity = resolveRegistrationState({
|
|
177
|
+
secret,
|
|
178
|
+
value: getCookie(c, config.cookieName),
|
|
179
|
+
});
|
|
180
|
+
if (!identity) {
|
|
181
|
+
clearSocial(c);
|
|
182
|
+
throw createError({
|
|
183
|
+
code: "SOCIAL_STATE_INVALID",
|
|
184
|
+
message: "Social registration is invalid or expired.",
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
return identity;
|
|
188
|
+
};
|
|
189
|
+
const completeRegistration = async ({ context, data, }) => {
|
|
190
|
+
const identity = getRegistration(context);
|
|
191
|
+
const account = await service.register({ data, identity });
|
|
192
|
+
const session = await createSession({ account_id: account.id, context });
|
|
193
|
+
clearSocial(context);
|
|
194
|
+
return session;
|
|
195
|
+
};
|
|
196
|
+
return {
|
|
197
|
+
completeRegistration,
|
|
198
|
+
getRegistration,
|
|
199
|
+
handle,
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
//# sourceMappingURL=social.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"social.js","sourceRoot":"","sources":["../../../src/adapters/hono/social.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAER,cAAc,EAEd,oBAAoB,EACvB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAER,cAAc,EAEd,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAsCpB,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,cAU1D,CAAC;AAgJF,eAAO,MAAM,mBAAmB,GAAI,oBAGjC;IACC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAClB,KAAG,oBAsCH,CAAC"}
|