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
SiteLoginReq struct 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
false to 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
Related Files
internal/schema/siteinfo_schema.go
internal/service/content/user_service.go
internal/controller_admin/siteinfo_controller.go
internal/service/siteinfo_common/siteinfo_service.go
ui/src/ (admin panel components)
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:
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.go2. Registration Logic
File:
internal/service/content/user_service.goCurrent behavior (line ~471):
New behavior:
3. Admin API
File:
internal/controller_admin/siteinfo_controller.goSiteLoginReqstruct to include new field4. Frontend Admin Panel
File:
ui/src/admin/pages/site/(or similar)Default Behavior
RequireEmailVerification = true(maintain backward compatibility)falseto allow immediate access after registrationDatabase Changes
None required - existing
mail_statusfield already supports both states:1= EmailStatusAvailable (verified)2= EmailStatusToBeVerified (pending)Testing Checklist
require_email_verificationRelated 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)