- replace default Convex control-plane wording with Rust SQLite control-plane across architecture, AGENTS, Reasonix, and design docs - retire root Convex functions source and deploy script into recycle while keeping explicit cloud/compat/sync-replica boundaries - add control-plane migration guard/docs and keep CodeGraph refreshed after the SQLite control-plane cutover
20 lines
664 B
TypeScript
20 lines
664 B
TypeScript
import { Password } from "@convex-dev/auth/providers/Password";
|
|
import { convexAuth } from "@convex-dev/auth/server";
|
|
|
|
export const { auth, signIn, signOut, store, isAuthenticated } = convexAuth({
|
|
providers: [
|
|
Password({
|
|
validatePasswordRequirements: (password: string) => {
|
|
if (password.length < 8) {
|
|
throw new Error("密码至少需要 8 个字符");
|
|
}
|
|
},
|
|
profile(params) {
|
|
const email = typeof params.email === "string" ? params.email : String(params.email ?? "");
|
|
const name = typeof params.name === "string" ? params.name.trim() : "";
|
|
return { email, name };
|
|
},
|
|
}),
|
|
],
|
|
});
|