[Feature] Add option to disable email verification on registration
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- go, typescript
- Ambito
- authentication, backend, frontend
Direzione di ricerca
Inizia da internal/schema/siteinfo_schema.go e segui il flusso di registrazione in internal/service/content/user_service.go, quindi esamina internal/controller_admin/siteinfo_controller.go e i componenti di amministrazione in ui/src/admin/pages/site/. Esegui i test esistenti per la registrazione e le informazioni del sito, se disponibili. Il lavoro è completato quando l’impostazione è esposta e persistita, richiede la verifica per impostazione predefinita, modifica correttamente lo stato della registrazione ed è controllabile dal pannello di amministrazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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)
- Lingua principale
- Go
- Stelle
- 15.7k
- Fork
- 1.4k
- Merge medio
- 1g 20h
- PR unite (30g)
- 6
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/answer
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Hardening: cap the invite_user list size in UpdateQuestionInviteUser to bound notification fan-out Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Gravatar hash is computed from the un-lowercased email, so mixed-case accounts render an identicon Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
Tutte le issue di apache/answer
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
acceptance-tests phase-coding schema-coverage testing triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100