diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2025-04-29 06:31:59 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-28 15:31:59 -0700 |
commit | 0148d03f216731d7e16eeafb09bde2976228b297 (patch) | |
tree | 352cd52ad566b9eb640da25379b4c8a39cabe68d /services/auth/source/oauth2/source.go | |
parent | 4ed07244b9dc6fab939f9c2e277475d9d7f7ac2f (diff) | |
download | gitea-0148d03f216731d7e16eeafb09bde2976228b297.tar.gz gitea-0148d03f216731d7e16eeafb09bde2976228b297.zip |
Enforce two-factor auth (2FA: TOTP or WebAuthn) (#34187)
Fix #880
Design:
1. A global setting `security.TWO_FACTOR_AUTH`.
* To support org-level config, we need to introduce a better "owner
setting" system first (in the future)
2. A user without 2FA can login and may explore, but can NOT read or
write to any repositories via API/web.
3. Keep things as simple as possible.
* This option only aggressively suggest users to enable their 2FA at the
moment, it does NOT guarantee that users must have 2FA before all other
operations, it should be good enough for real world use cases.
* Some details and tests could be improved in the future since this
change only adds a check and seems won't affect too much.
---------
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'services/auth/source/oauth2/source.go')
-rw-r--r-- | services/auth/source/oauth2/source.go | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/services/auth/source/oauth2/source.go b/services/auth/source/oauth2/source.go index 3454c9ad55..08837de377 100644 --- a/services/auth/source/oauth2/source.go +++ b/services/auth/source/oauth2/source.go @@ -10,6 +10,8 @@ import ( // Source holds configuration for the OAuth2 login source. type Source struct { + auth.ConfigBase `json:"-"` + Provider string ClientID string ClientSecret string @@ -25,10 +27,6 @@ type Source struct { GroupTeamMap string GroupTeamMapRemoval bool RestrictedGroup string - SkipLocalTwoFA bool `json:",omitempty"` - - // reference to the authSource - authSource *auth.Source } // FromDB fills up an OAuth2Config from serialized format. @@ -41,11 +39,6 @@ func (source *Source) ToDB() ([]byte, error) { return json.Marshal(source) } -// SetAuthSource sets the related AuthSource -func (source *Source) SetAuthSource(authSource *auth.Source) { - source.authSource = authSource -} - func init() { auth.RegisterTypeConfig(auth.OAuth2, &Source{}) } |