Merge pull request #279 from JasonOA888/feat/issue-241-disable-signup
feat: add auth.disableSignUp config option
This commit is contained in:
commit
e3ff0c8e1b
3 changed files with 10 additions and 0 deletions
|
|
@ -55,6 +55,7 @@ export const serverConfigSchema = z.object({
|
||||||
export const authConfigSchema = z.object({
|
export const authConfigSchema = z.object({
|
||||||
baseUrlMode: z.enum(AUTH_BASE_URL_MODES).default("auto"),
|
baseUrlMode: z.enum(AUTH_BASE_URL_MODES).default("auto"),
|
||||||
publicBaseUrl: z.string().url().optional(),
|
publicBaseUrl: z.string().url().optional(),
|
||||||
|
disableSignUp: z.boolean().default(false),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const storageLocalDiskConfigSchema = z.object({
|
export const storageLocalDiskConfigSchema = z.object({
|
||||||
|
|
@ -103,6 +104,7 @@ export const paperclipConfigSchema = z
|
||||||
server: serverConfigSchema,
|
server: serverConfigSchema,
|
||||||
auth: authConfigSchema.default({
|
auth: authConfigSchema.default({
|
||||||
baseUrlMode: "auto",
|
baseUrlMode: "auto",
|
||||||
|
disableSignUp: false,
|
||||||
}),
|
}),
|
||||||
storage: storageConfigSchema.default({
|
storage: storageConfigSchema.default({
|
||||||
provider: "local_disk",
|
provider: "local_disk",
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,7 @@ export function createBetterAuthInstance(db: Db, config: Config, trustedOrigins?
|
||||||
emailAndPassword: {
|
emailAndPassword: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
requireEmailVerification: false,
|
requireEmailVerification: false,
|
||||||
|
disableSignUp: config.authDisableSignUp,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ export interface Config {
|
||||||
allowedHostnames: string[];
|
allowedHostnames: string[];
|
||||||
authBaseUrlMode: AuthBaseUrlMode;
|
authBaseUrlMode: AuthBaseUrlMode;
|
||||||
authPublicBaseUrl: string | undefined;
|
authPublicBaseUrl: string | undefined;
|
||||||
|
authDisableSignUp: boolean;
|
||||||
databaseMode: DatabaseMode;
|
databaseMode: DatabaseMode;
|
||||||
databaseUrl: string | undefined;
|
databaseUrl: string | undefined;
|
||||||
embeddedPostgresDataDir: string;
|
embeddedPostgresDataDir: string;
|
||||||
|
|
@ -142,6 +143,11 @@ export function loadConfig(): Config {
|
||||||
authBaseUrlModeFromEnv ??
|
authBaseUrlModeFromEnv ??
|
||||||
fileConfig?.auth?.baseUrlMode ??
|
fileConfig?.auth?.baseUrlMode ??
|
||||||
(authPublicBaseUrl ? "explicit" : "auto");
|
(authPublicBaseUrl ? "explicit" : "auto");
|
||||||
|
const disableSignUpFromEnv = process.env.PAPERCLIP_AUTH_DISABLE_SIGN_UP;
|
||||||
|
const authDisableSignUp: boolean =
|
||||||
|
disableSignUpFromEnv !== undefined
|
||||||
|
? disableSignUpFromEnv === "true"
|
||||||
|
: (fileConfig?.auth?.disableSignUp ?? false);
|
||||||
const allowedHostnamesFromEnvRaw = process.env.PAPERCLIP_ALLOWED_HOSTNAMES;
|
const allowedHostnamesFromEnvRaw = process.env.PAPERCLIP_ALLOWED_HOSTNAMES;
|
||||||
const allowedHostnamesFromEnv = allowedHostnamesFromEnvRaw
|
const allowedHostnamesFromEnv = allowedHostnamesFromEnvRaw
|
||||||
? allowedHostnamesFromEnvRaw
|
? allowedHostnamesFromEnvRaw
|
||||||
|
|
@ -203,6 +209,7 @@ export function loadConfig(): Config {
|
||||||
allowedHostnames,
|
allowedHostnames,
|
||||||
authBaseUrlMode,
|
authBaseUrlMode,
|
||||||
authPublicBaseUrl,
|
authPublicBaseUrl,
|
||||||
|
authDisableSignUp,
|
||||||
databaseMode: fileDatabaseMode,
|
databaseMode: fileDatabaseMode,
|
||||||
databaseUrl: process.env.DATABASE_URL ?? fileDbUrl,
|
databaseUrl: process.env.DATABASE_URL ?? fileDbUrl,
|
||||||
embeddedPostgresDataDir: resolveHomeAwarePath(
|
embeddedPostgresDataDir: resolveHomeAwarePath(
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue