* fix: allow invited users to sign up when registration is disabled Move sign-up restriction logic from better-auth's disableSignUp config to the existing user.create.before database hook, which already checks for pending invitations. The frontend signup and login pages now detect invite flows (?next=/invite/...) and bypass the disabled UI accordingly. Closes #411 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * test: add regression tests for sign-up hook invite bypass Verify that the user.create.before database hook correctly: - allows sign-up when registration is not disabled - blocks sign-up when disabled and no invitation exists - allows sign-up when disabled but a pending invitation exists - respects BETTER_AUTH_ALLOWED_DOMAINS in combination with invites Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * test: add OIDC/social sign-up path coverage for invite bypass Address review suggestion: add explicit tests verifying the user.create.before hook handles OIDC/social sign-ups the same way as email/password — invited users are allowed, uninvited users are blocked. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
45 lines
1.1 KiB
JSON
45 lines
1.1 KiB
JSON
{
|
|
"name": "@kan/auth",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"exports": {
|
|
".": "./src/index.ts",
|
|
"./client": {
|
|
"types": "./src/client.ts",
|
|
"default": "./src/client.ts"
|
|
},
|
|
"./server": {
|
|
"types": "./src/server.ts",
|
|
"default": "./src/server.ts"
|
|
}
|
|
},
|
|
"license": "GPL-3.0",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"clean": "git clean -xdf .cache .turbo dist node_modules",
|
|
"dev": "tsc",
|
|
"format": "prettier --check . --ignore-path ../../.gitignore",
|
|
"lint": "eslint",
|
|
"test": "vitest run",
|
|
"typecheck": "tsc --noEmit --emitDeclarationOnly false"
|
|
},
|
|
"devDependencies": {
|
|
"@kan/db": "workspace:*",
|
|
"@kan/email": "workspace:*",
|
|
"@kan/eslint-config": "workspace:*",
|
|
"@kan/prettier-config": "workspace:*",
|
|
"@kan/shared": "workspace:*",
|
|
"@kan/stripe": "workspace:*",
|
|
"@kan/tsconfig": "workspace:*",
|
|
"eslint": "catalog:",
|
|
"prettier": "catalog:",
|
|
"typescript": "catalog:"
|
|
},
|
|
"prettier": "@kan/prettier-config",
|
|
"dependencies": {
|
|
"@better-auth/stripe": "^1.4.6",
|
|
"better-auth": "^1.4.6"
|
|
}
|
|
}
|