[Feature] Add option to disable email verification on registration
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 55/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- go, typescript
调研方向
从 internal/schema/siteinfo_schema.go 开始,跟踪 internal/service/content/user_service.go 中的注册流程,然后检查 internal/controller_admin/siteinfo_controller.go 以及 ui/src/admin/pages/site/ 下的管理组件。如果有现成的注册和站点信息测试,请运行它们。完成的标准是:该设置已暴露并持久化,默认要求验证,能够正确更改注册状态,并且可以从管理面板进行控制。
由索引模型根据 Issue 内容生成。
描述
Feature Request: Allow admin to disable email verification requirement
Problem
Currently, Apache Answer always requires email verification after registration. Users cannot access the platform until they click the verification link in their email.
This is problematic because:
- Many users don't receive or check the verification email
- It creates friction in user onboarding
- Some deployments (internal networks, dev environments) don't need email verification
Proposed Solution
Add an admin configuration option to allow users to use the platform immediately after registration without email verification.
Technical Changes Required
1. Schema Changes
File: internal/schema/siteinfo_schema.go
type SiteLoginReq struct {
AllowNewRegistrations bool `json:"allow_new_registrations"`
AllowEmailRegistrations bool `json:"allow_email_registrations"`
AllowPasswordLogin bool `json:"allow_password_login"`
AllowEmailDomains []string `json:"allow_email_domains"`
RequireEmailVerification bool `json:"require_email_verification"` // NEW
}
2. Registration Logic
File: internal/service/content/user_service.go
Current behavior (line ~471):
userInfo.MailStatus = entity.EmailStatusToBeVerified // Always unverified
New behavior:
if requireEmailVerification {
userInfo.MailStatus = entity.EmailStatusToBeVerified
} else {
userInfo.MailStatus = entity.EmailStatusAvailable // Verified immediately
}
3. Admin API
File: internal/controller_admin/siteinfo_controller.go
- Update
SiteLoginReqstruct to include new field - Ensure admin can toggle this setting
4. Frontend Admin Panel
File: ui/src/admin/pages/site/ (or similar)
- Add toggle switch for "Require Email Verification" in login settings
Default Behavior
RequireEmailVerification = true(maintain backward compatibility)- Admin can set to
falseto allow immediate access after registration
Database Changes
None required - existing mail_status field already supports both states:
1= EmailStatusAvailable (verified)2= EmailStatusToBeVerified (pending)
Testing Checklist
- New user registration with verification enabled → mail_status = 2
- New user registration with verification disabled → mail_status = 1
- Admin can toggle the setting via admin panel
- API returns correct value for
require_email_verification - Existing users with mail_status = 2 still need to verify (if required)
Related Files
internal/schema/siteinfo_schema.gointernal/service/content/user_service.gointernal/controller_admin/siteinfo_controller.gointernal/service/siteinfo_common/siteinfo_service.goui/src/(admin panel components)
- 主要语言
- Go
- 星标
- 15.7k
- 派生
- 1.4k
- 平均合并
- 1 天 20 小时
- 30 天内合并 PR
- 6
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/answer 的其他 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 65/100
-
Hardening: cap the invite_user list size in UpdateQuestionInviteUser to bound notification fan-out 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 2/5 1-3 小时 新手友好度 88/100
-
Gravatar hash is computed from the un-lowercased email, so mixed-case accounts render an identicon 未关闭
难度 2/5 1-3 小时 新手友好度 85/100
相似的 Issue
-
bug github_actions
难度 2/5 1-3 小时 新手友好度 75/100
registrystack/registry-stack#1393 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
JakeChampion/lang#10213 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
oasisprotocol/oasis-sdk#2523 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 70/100