[Feature] Add option to disable email verification on registration
まだ誰も着手していません。
評価
- 難易度
- 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時間
- マージ済み PR(30日)
- 6
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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