@fougere/auth-better 0.9.3-alpha.0 → 0.10.0-alpha.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/dist/{translate.d.ts → FougereProviders.d.ts} +2 -13
- package/dist/{translate.d.ts.map → FougereProviders.d.ts.map} +1 -1
- package/dist/{translate.js → FougereProviders.js} +1 -1
- package/dist/FougereProviders.js.map +1 -0
- package/dist/OIDCProviderConfig.d.ts +13 -0
- package/dist/OIDCProviderConfig.d.ts.map +1 -0
- package/dist/OIDCProviderConfig.js +2 -0
- package/dist/OIDCProviderConfig.js.map +1 -0
- package/dist/entity/AuthUser.d.ts +14 -0
- package/dist/entity/AuthUser.d.ts.map +1 -0
- package/dist/entity/AuthUser.js +13 -0
- package/dist/entity/AuthUser.js.map +1 -0
- package/dist/entity/AuthVerification.d.ts +16 -0
- package/dist/entity/AuthVerification.d.ts.map +1 -0
- package/dist/entity/AuthVerification.js +15 -0
- package/dist/entity/AuthVerification.js.map +1 -0
- package/dist/entity/authEntities.d.ts +6 -0
- package/dist/entity/authEntities.d.ts.map +1 -0
- package/dist/{entities.js → entity/authEntities.js} +2 -26
- package/dist/entity/authEntities.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/{translate.ts → FougereProviders.ts} +1 -13
- package/src/OIDCProviderConfig.ts +12 -0
- package/src/entity/AuthUser.ts +12 -0
- package/src/entity/AuthVerification.ts +14 -0
- package/src/{entities.ts → entity/authEntities.ts} +1 -25
- package/src/index.ts +5 -8
- package/dist/entities.d.ts +0 -33
- package/dist/entities.d.ts.map +0 -1
- package/dist/entities.js.map +0 -1
- package/dist/translate.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { BetterAuthOptions, BetterAuthPlugin } from 'better-auth';
|
|
2
|
+
import type { OIDCProviderConfig } from './OIDCProviderConfig.js';
|
|
2
3
|
/** Fougere-side provider declaration. */
|
|
3
4
|
export interface FougereProviders {
|
|
4
5
|
credential?: {
|
|
@@ -38,20 +39,8 @@ export interface FougereProviders {
|
|
|
38
39
|
};
|
|
39
40
|
oidc?: Record<string, OIDCProviderConfig>;
|
|
40
41
|
}
|
|
41
|
-
export interface OIDCProviderConfig {
|
|
42
|
-
/** Provider id used in the URL (e.g. /auth/oauth2/{id}/callback). Defaults to the dict key. */
|
|
43
|
-
id?: string;
|
|
44
|
-
/** OIDC issuer URL — used to derive the discovery URL. */
|
|
45
|
-
issuer: string;
|
|
46
|
-
clientId: string;
|
|
47
|
-
clientSecret: string;
|
|
48
|
-
scopes?: string[];
|
|
49
|
-
/** Pass-through for better-auth's genericOAuth provider config. */
|
|
50
|
-
redirectURI?: string;
|
|
51
|
-
responseType?: string;
|
|
52
|
-
}
|
|
53
42
|
export declare function translateCredential(providers?: FougereProviders): BetterAuthOptions['emailAndPassword'];
|
|
54
43
|
export declare function translateSocial(providers?: FougereProviders): BetterAuthOptions['socialProviders'];
|
|
55
44
|
/** Build the plugin list from Fougere provider config. */
|
|
56
45
|
export declare function translatePlugins(providers?: FougereProviders): BetterAuthPlugin[];
|
|
57
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=FougereProviders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"FougereProviders.d.ts","sourceRoot":"","sources":["../src/FougereProviders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE;QACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACtE,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACtE,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACxE,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACrE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACvE,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC3C;AAID,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CASvG;AAED,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAOlG;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAejF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FougereProviders.js","sourceRoot":"","sources":["../src/FougereProviders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAoBnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAE/F,MAAM,UAAU,mBAAmB,CAAC,SAA4B;IAC9D,MAAM,IAAI,GAAG,SAAS,EAAE,UAAU,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACrC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA4B;IAC1D,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAChD,CAAC;IACD,OAAO,MAA8C,CAAC;AACxD,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,SAA4B;IAC3D,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,UAAU,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;YAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,mCAAmC;YAClF,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;YACrD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface OIDCProviderConfig {
|
|
2
|
+
/** Provider id used in the URL (e.g. /auth/oauth2/{id}/callback). Defaults to the dict key. */
|
|
3
|
+
id?: string;
|
|
4
|
+
/** OIDC issuer URL — used to derive the discovery URL. */
|
|
5
|
+
issuer: string;
|
|
6
|
+
clientId: string;
|
|
7
|
+
clientSecret: string;
|
|
8
|
+
scopes?: string[];
|
|
9
|
+
/** Pass-through for better-auth's genericOAuth provider config. */
|
|
10
|
+
redirectURI?: string;
|
|
11
|
+
responseType?: string;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=OIDCProviderConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OIDCProviderConfig.d.ts","sourceRoot":"","sources":["../src/OIDCProviderConfig.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,+FAA+F;IAC/F,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OIDCProviderConfig.js","sourceRoot":"","sources":["../src/OIDCProviderConfig.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const AuthUser_base: import("@fougere/schema").SchemaConstructor<{
|
|
2
|
+
id: import("@fougere/schema").Field<string>;
|
|
3
|
+
name: import("@fougere/schema").Field<string>;
|
|
4
|
+
email: import("@fougere/schema").Field<string>;
|
|
5
|
+
emailVerified: import("@fougere/schema").Field<boolean>;
|
|
6
|
+
image: import("@fougere/schema").Field<string | null>;
|
|
7
|
+
createdAt: import("@fougere/schema").Field<Date>;
|
|
8
|
+
updatedAt: import("@fougere/schema").Field<Date>;
|
|
9
|
+
}>;
|
|
10
|
+
/** Default User entity — shipped as a fallback. */
|
|
11
|
+
export declare class AuthUser extends AuthUser_base {
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=AuthUser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthUser.d.ts","sourceRoot":"","sources":["../../src/entity/AuthUser.ts"],"names":[],"mappings":";;;;;;;;;AAEA,mDAAmD;AACnD,qBAAa,QAAS,SAAQ,aAQ5B;CAAG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { entity, primary, text, bool, created, optional } from '@fougere/schema';
|
|
2
|
+
/** Default User entity — shipped as a fallback. */
|
|
3
|
+
export class AuthUser extends entity({
|
|
4
|
+
id: primary(),
|
|
5
|
+
name: text(),
|
|
6
|
+
email: text(),
|
|
7
|
+
emailVerified: bool(),
|
|
8
|
+
image: optional(text()),
|
|
9
|
+
createdAt: created(),
|
|
10
|
+
updatedAt: created(),
|
|
11
|
+
}) {
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=AuthUser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthUser.js","sourceRoot":"","sources":["../../src/entity/AuthUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjF,mDAAmD;AACnD,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC;IACnC,EAAE,EAAE,OAAO,EAAE;IACb,IAAI,EAAE,IAAI,EAAE;IACZ,KAAK,EAAE,IAAI,EAAE;IACb,aAAa,EAAE,IAAI,EAAE;IACrB,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,EAAE;IACpB,SAAS,EAAE,OAAO,EAAE;CACrB,CAAC;CAAG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const AuthVerification_base: import("@fougere/schema").SchemaConstructor<{
|
|
2
|
+
id: import("@fougere/schema").Field<string>;
|
|
3
|
+
identifier: import("@fougere/schema").Field<string>;
|
|
4
|
+
value: import("@fougere/schema").Field<string>;
|
|
5
|
+
expiresAt: import("@fougere/schema").Field<Date>;
|
|
6
|
+
createdAt: import("@fougere/schema").Field<Date>;
|
|
7
|
+
updatedAt: import("@fougere/schema").Field<Date>;
|
|
8
|
+
}>;
|
|
9
|
+
/**
|
|
10
|
+
* Default Verification entity — better-auth shape.
|
|
11
|
+
* Used for email verification, password reset, magic links, etc.
|
|
12
|
+
*/
|
|
13
|
+
export declare class AuthVerification extends AuthVerification_base {
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=AuthVerification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthVerification.d.ts","sourceRoot":"","sources":["../../src/entity/AuthVerification.ts"],"names":[],"mappings":";;;;;;;;AAEA;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAOpC;CAAG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { entity, primary, text, date, created } from '@fougere/schema';
|
|
2
|
+
/**
|
|
3
|
+
* Default Verification entity — better-auth shape.
|
|
4
|
+
* Used for email verification, password reset, magic links, etc.
|
|
5
|
+
*/
|
|
6
|
+
export class AuthVerification extends entity({
|
|
7
|
+
id: primary(),
|
|
8
|
+
identifier: text(),
|
|
9
|
+
value: text(),
|
|
10
|
+
expiresAt: date(),
|
|
11
|
+
createdAt: created(),
|
|
12
|
+
updatedAt: created(),
|
|
13
|
+
}) {
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=AuthVerification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthVerification.js","sourceRoot":"","sources":["../../src/entity/AuthVerification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC;IAC3C,EAAE,EAAE,OAAO,EAAE;IACb,UAAU,EAAE,IAAI,EAAE;IAClB,KAAK,EAAE,IAAI,EAAE;IACb,SAAS,EAAE,IAAI,EAAE;IACjB,SAAS,EAAE,OAAO,EAAE;IACpB,SAAS,EAAE,OAAO,EAAE;CACrB,CAAC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authEntities.d.ts","sourceRoot":"","sources":["../../src/entity/authEntities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKvG,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG;IAC9C,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,UAAU,CAAC;CACzB,CAuCA"}
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
import { entity, primary, text,
|
|
2
|
-
/** Default User entity — shipped as a fallback. */
|
|
3
|
-
export class AuthUser extends entity({
|
|
4
|
-
id: primary(),
|
|
5
|
-
name: text(),
|
|
6
|
-
email: text(),
|
|
7
|
-
emailVerified: bool(),
|
|
8
|
-
image: optional(text()),
|
|
9
|
-
createdAt: created(),
|
|
10
|
-
updatedAt: created(),
|
|
11
|
-
}) {
|
|
12
|
-
}
|
|
1
|
+
import { entity, primary, text, date, created, ref, optional } from '@fougere/schema';
|
|
13
2
|
export function authEntities(User) {
|
|
14
3
|
const target = User;
|
|
15
4
|
/**
|
|
@@ -49,17 +38,4 @@ export function authEntities(User) {
|
|
|
49
38
|
}
|
|
50
39
|
return { AuthSession, AuthAccount };
|
|
51
40
|
}
|
|
52
|
-
|
|
53
|
-
* Default Verification entity — better-auth shape.
|
|
54
|
-
* Used for email verification, password reset, magic links, etc.
|
|
55
|
-
*/
|
|
56
|
-
export class AuthVerification extends entity({
|
|
57
|
-
id: primary(),
|
|
58
|
-
identifier: text(),
|
|
59
|
-
value: text(),
|
|
60
|
-
expiresAt: date(),
|
|
61
|
-
createdAt: created(),
|
|
62
|
-
updatedAt: created(),
|
|
63
|
-
}) {
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=entities.js.map
|
|
41
|
+
//# sourceMappingURL=authEntities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authEntities.js","sourceRoot":"","sources":["../../src/entity/authEntities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAC;AAKvG,MAAM,UAAU,YAAY,CAAC,IAAgB;IAI3C,MAAM,MAAM,GAAG,IAA6B,CAAC;IAE7C;;;OAGG;IACH,MAAM,WAAY,SAAQ,MAAM,CAAC;QAC/B,EAAE,EAAE,OAAO,EAAE;QACb,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,IAAI,EAAE;QACb,SAAS,EAAE,IAAI,EAAE;QACjB,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,SAAS,EAAE,OAAO,EAAE;QACpB,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC;KAAG;IAEL;;;OAGG;IACH,MAAM,WAAY,SAAQ,MAAM,CAAC;QAC/B,EAAE,EAAE,OAAO,EAAE;QACb,SAAS,EAAE,IAAI,EAAE;QACjB,UAAU,EAAE,IAAI,EAAE;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,oBAAoB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,qBAAqB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1B,SAAS,EAAE,OAAO,EAAE;QACpB,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC;KAAG;IAEL,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AuthConfig } from '@fougere/core';
|
|
2
2
|
import type { SchemaView } from '@fougere/schema';
|
|
3
|
-
import { type FougereProviders } from './
|
|
4
|
-
export { AuthUser } from './
|
|
3
|
+
import { type FougereProviders } from './FougereProviders.js';
|
|
4
|
+
export { AuthUser } from './entity/AuthUser.js';
|
|
5
5
|
/** Options accepted by the betterAuth() factory in fougere.config.ts. */
|
|
6
6
|
export interface BetterAuthOptions {
|
|
7
7
|
user?: SchemaView;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKlD,OAAO,EAA0D,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEtH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,YAAY,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,yCAAyC;AACzC,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAmD9D"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { betterAuth as betterAuthLib } from 'better-auth';
|
|
2
2
|
import { createId } from '@paralleldrive/cuid2';
|
|
3
|
-
import {
|
|
3
|
+
import { AuthUser } from './entity/AuthUser.js';
|
|
4
|
+
import { AuthVerification } from './entity/AuthVerification.js';
|
|
5
|
+
import { authEntities } from './entity/authEntities.js';
|
|
4
6
|
import { fougereAdapter } from './adapter.js';
|
|
5
|
-
import { translateCredential,
|
|
6
|
-
export { AuthUser } from './
|
|
7
|
+
import { translateCredential, translatePlugins, translateSocial } from './FougereProviders.js';
|
|
8
|
+
export { AuthUser } from './entity/AuthUser.js';
|
|
7
9
|
/** Factory used in fougere.config.ts. */
|
|
8
10
|
export function betterAuth(opts) {
|
|
9
11
|
const userSchema = opts.user ?? AuthUser;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fougere/auth-better",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0-alpha.0",
|
|
4
4
|
"description": "Fougere's auth — a translation layer onto better-auth.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fougere",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@paralleldrive/cuid2": "^3.3.0",
|
|
33
33
|
"better-auth": "^1.6.11",
|
|
34
|
-
"@fougere/core": "0.
|
|
35
|
-
"@fougere/schema": "0.
|
|
34
|
+
"@fougere/core": "0.10.0-alpha.0",
|
|
35
|
+
"@fougere/schema": "0.10.0-alpha.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"vitest": "^4.1.0",
|
|
39
|
-
"@fougere/adapter-sql": "0.
|
|
39
|
+
"@fougere/adapter-sql": "0.10.0-alpha.0"
|
|
40
40
|
},
|
|
41
41
|
"publishConfig": {
|
|
42
42
|
"access": "public"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { genericOAuth } from 'better-auth/plugins';
|
|
2
2
|
import type { BetterAuthOptions, BetterAuthPlugin } from 'better-auth';
|
|
3
|
+
import type { OIDCProviderConfig } from './OIDCProviderConfig.js';
|
|
3
4
|
|
|
4
5
|
/** Fougere-side provider declaration. */
|
|
5
6
|
export interface FougereProviders {
|
|
@@ -17,19 +18,6 @@ export interface FougereProviders {
|
|
|
17
18
|
oidc?: Record<string, OIDCProviderConfig>;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
export interface OIDCProviderConfig {
|
|
21
|
-
/** Provider id used in the URL (e.g. /auth/oauth2/{id}/callback). Defaults to the dict key. */
|
|
22
|
-
id?: string;
|
|
23
|
-
/** OIDC issuer URL — used to derive the discovery URL. */
|
|
24
|
-
issuer: string;
|
|
25
|
-
clientId: string;
|
|
26
|
-
clientSecret: string;
|
|
27
|
-
scopes?: string[];
|
|
28
|
-
/** Pass-through for better-auth's genericOAuth provider config. */
|
|
29
|
-
redirectURI?: string;
|
|
30
|
-
responseType?: string;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
21
|
const SOCIAL_KEYS = new Set(['google', 'github', 'facebook', 'apple', 'discord', 'microsoft']);
|
|
34
22
|
|
|
35
23
|
export function translateCredential(providers?: FougereProviders): BetterAuthOptions['emailAndPassword'] {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface OIDCProviderConfig {
|
|
2
|
+
/** Provider id used in the URL (e.g. /auth/oauth2/{id}/callback). Defaults to the dict key. */
|
|
3
|
+
id?: string;
|
|
4
|
+
/** OIDC issuer URL — used to derive the discovery URL. */
|
|
5
|
+
issuer: string;
|
|
6
|
+
clientId: string;
|
|
7
|
+
clientSecret: string;
|
|
8
|
+
scopes?: string[];
|
|
9
|
+
/** Pass-through for better-auth's genericOAuth provider config. */
|
|
10
|
+
redirectURI?: string;
|
|
11
|
+
responseType?: string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { entity, primary, text, bool, created, optional } from '@fougere/schema';
|
|
2
|
+
|
|
3
|
+
/** Default User entity — shipped as a fallback. */
|
|
4
|
+
export class AuthUser extends entity({
|
|
5
|
+
id: primary(),
|
|
6
|
+
name: text(),
|
|
7
|
+
email: text(),
|
|
8
|
+
emailVerified: bool(),
|
|
9
|
+
image: optional(text()),
|
|
10
|
+
createdAt: created(),
|
|
11
|
+
updatedAt: created(),
|
|
12
|
+
}) {}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { entity, primary, text, date, created } from '@fougere/schema';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Default Verification entity — better-auth shape.
|
|
5
|
+
* Used for email verification, password reset, magic links, etc.
|
|
6
|
+
*/
|
|
7
|
+
export class AuthVerification extends entity({
|
|
8
|
+
id: primary(),
|
|
9
|
+
identifier: text(),
|
|
10
|
+
value: text(),
|
|
11
|
+
expiresAt: date(),
|
|
12
|
+
createdAt: created(),
|
|
13
|
+
updatedAt: created(),
|
|
14
|
+
}) {}
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
import { entity, primary, text,
|
|
2
|
-
|
|
3
|
-
/** Default User entity — shipped as a fallback. */
|
|
4
|
-
export class AuthUser extends entity({
|
|
5
|
-
id: primary(),
|
|
6
|
-
name: text(),
|
|
7
|
-
email: text(),
|
|
8
|
-
emailVerified: bool(),
|
|
9
|
-
image: optional(text()),
|
|
10
|
-
createdAt: created(),
|
|
11
|
-
updatedAt: created(),
|
|
12
|
-
}) {}
|
|
1
|
+
import { entity, primary, text, date, created, ref, optional, type SchemaView } from '@fougere/schema';
|
|
13
2
|
|
|
14
3
|
/** A `ref()` target is fixed at field-declaration time. */
|
|
15
4
|
type LiveEntity = abstract new (...args: any[]) => unknown;
|
|
@@ -57,16 +46,3 @@ export function authEntities(User: SchemaView): {
|
|
|
57
46
|
|
|
58
47
|
return { AuthSession, AuthAccount };
|
|
59
48
|
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Default Verification entity — better-auth shape.
|
|
63
|
-
* Used for email verification, password reset, magic links, etc.
|
|
64
|
-
*/
|
|
65
|
-
export class AuthVerification extends entity({
|
|
66
|
-
id: primary(),
|
|
67
|
-
identifier: text(),
|
|
68
|
-
value: text(),
|
|
69
|
-
expiresAt: date(),
|
|
70
|
-
createdAt: created(),
|
|
71
|
-
updatedAt: created(),
|
|
72
|
-
}) {}
|
package/src/index.ts
CHANGED
|
@@ -2,16 +2,13 @@ import { betterAuth as betterAuthLib } from 'better-auth';
|
|
|
2
2
|
import { createId } from '@paralleldrive/cuid2';
|
|
3
3
|
import type { AuthConfig, AuthContext, AuthRuntime } from '@fougere/core';
|
|
4
4
|
import type { SchemaView } from '@fougere/schema';
|
|
5
|
-
import {
|
|
5
|
+
import { AuthUser } from './entity/AuthUser.js';
|
|
6
|
+
import { AuthVerification } from './entity/AuthVerification.js';
|
|
7
|
+
import { authEntities } from './entity/authEntities.js';
|
|
6
8
|
import { fougereAdapter, type StorageMap } from './adapter.js';
|
|
7
|
-
import {
|
|
8
|
-
translateCredential,
|
|
9
|
-
translateSocial,
|
|
10
|
-
translatePlugins,
|
|
11
|
-
type FougereProviders,
|
|
12
|
-
} from './translate.js';
|
|
9
|
+
import { translateCredential, translatePlugins, translateSocial, type FougereProviders } from './FougereProviders.js';
|
|
13
10
|
|
|
14
|
-
export { AuthUser } from './
|
|
11
|
+
export { AuthUser } from './entity/AuthUser.js';
|
|
15
12
|
|
|
16
13
|
/** Options accepted by the betterAuth() factory in fougere.config.ts. */
|
|
17
14
|
export interface BetterAuthOptions {
|
package/dist/entities.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { type SchemaView } from '@fougere/schema';
|
|
2
|
-
declare const AuthUser_base: import("@fougere/schema").SchemaConstructor<{
|
|
3
|
-
id: import("@fougere/schema").Field<string>;
|
|
4
|
-
name: import("@fougere/schema").Field<string>;
|
|
5
|
-
email: import("@fougere/schema").Field<string>;
|
|
6
|
-
emailVerified: import("@fougere/schema").Field<boolean>;
|
|
7
|
-
image: import("@fougere/schema").Field<string | null>;
|
|
8
|
-
createdAt: import("@fougere/schema").Field<Date>;
|
|
9
|
-
updatedAt: import("@fougere/schema").Field<Date>;
|
|
10
|
-
}>;
|
|
11
|
-
/** Default User entity — shipped as a fallback. */
|
|
12
|
-
export declare class AuthUser extends AuthUser_base {
|
|
13
|
-
}
|
|
14
|
-
export declare function authEntities(User: SchemaView): {
|
|
15
|
-
AuthSession: SchemaView;
|
|
16
|
-
AuthAccount: SchemaView;
|
|
17
|
-
};
|
|
18
|
-
declare const AuthVerification_base: import("@fougere/schema").SchemaConstructor<{
|
|
19
|
-
id: import("@fougere/schema").Field<string>;
|
|
20
|
-
identifier: import("@fougere/schema").Field<string>;
|
|
21
|
-
value: import("@fougere/schema").Field<string>;
|
|
22
|
-
expiresAt: import("@fougere/schema").Field<Date>;
|
|
23
|
-
createdAt: import("@fougere/schema").Field<Date>;
|
|
24
|
-
updatedAt: import("@fougere/schema").Field<Date>;
|
|
25
|
-
}>;
|
|
26
|
-
/**
|
|
27
|
-
* Default Verification entity — better-auth shape.
|
|
28
|
-
* Used for email verification, password reset, magic links, etc.
|
|
29
|
-
*/
|
|
30
|
-
export declare class AuthVerification extends AuthVerification_base {
|
|
31
|
-
}
|
|
32
|
-
export {};
|
|
33
|
-
//# sourceMappingURL=entities.d.ts.map
|
package/dist/entities.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6D,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;;;;;;;;;;AAE7G,mDAAmD;AACnD,qBAAa,QAAS,SAAQ,aAQ5B;CAAG;AAKL,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG;IAC9C,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,UAAU,CAAC;CACzB,CAuCA;;;;;;;;;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAOpC;CAAG"}
|
package/dist/entities.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAC;AAE7G,mDAAmD;AACnD,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC;IACnC,EAAE,EAAE,OAAO,EAAE;IACb,IAAI,EAAE,IAAI,EAAE;IACZ,KAAK,EAAE,IAAI,EAAE;IACb,aAAa,EAAE,IAAI,EAAE;IACrB,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,EAAE;IACpB,SAAS,EAAE,OAAO,EAAE;CACrB,CAAC;CAAG;AAKL,MAAM,UAAU,YAAY,CAAC,IAAgB;IAI3C,MAAM,MAAM,GAAG,IAA6B,CAAC;IAE7C;;;OAGG;IACH,MAAM,WAAY,SAAQ,MAAM,CAAC;QAC/B,EAAE,EAAE,OAAO,EAAE;QACb,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,IAAI,EAAE;QACb,SAAS,EAAE,IAAI,EAAE;QACjB,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,SAAS,EAAE,OAAO,EAAE;QACpB,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC;KAAG;IAEL;;;OAGG;IACH,MAAM,WAAY,SAAQ,MAAM,CAAC;QAC/B,EAAE,EAAE,OAAO,EAAE;QACb,SAAS,EAAE,IAAI,EAAE;QACjB,UAAU,EAAE,IAAI,EAAE;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,oBAAoB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,qBAAqB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1B,SAAS,EAAE,OAAO,EAAE;QACpB,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC;KAAG;IAEL,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC;IAC3C,EAAE,EAAE,OAAO,EAAE;IACb,UAAU,EAAE,IAAI,EAAE;IAClB,KAAK,EAAE,IAAI,EAAE;IACb,SAAS,EAAE,IAAI,EAAE;IACjB,SAAS,EAAE,OAAO,EAAE;IACpB,SAAS,EAAE,OAAO,EAAE;CACrB,CAAC;CAAG"}
|
package/dist/translate.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"translate.js","sourceRoot":"","sources":["../src/translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAgCnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAE/F,MAAM,UAAU,mBAAmB,CAAC,SAA4B;IAC9D,MAAM,IAAI,GAAG,SAAS,EAAE,UAAU,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACrC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA4B;IAC1D,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAChD,CAAC;IACD,OAAO,MAA8C,CAAC;AACxD,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,SAA4B;IAC3D,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,UAAU,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;YAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,mCAAmC;YAClF,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;YACrD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|