aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2022-01-31 20:41:11 +0000
committerGitHub <noreply@github.com>2022-01-31 20:41:11 +0000
commit7d452558f095a5dea687a6e9b67961c8ae2aef7f (patch)
treeeafe8c13d8469fb260b39a162d91f78bd78e2e41
parentdb7c3ecc1f725eadfcc2ab980858d53b84ae85b1 (diff)
downloadgitea-7d452558f095a5dea687a6e9b67961c8ae2aef7f.tar.gz
gitea-7d452558f095a5dea687a6e9b67961c8ae2aef7f.zip
Fix OAuth Source Edit Page (#18495)
* Fix OAuth Source Edit Page to ensure restricted and group settings are set * Also tolerate []interface in the groups Fix #18432 Signed-off-by: Andrew Thornton <art27@cantab.net>
-rw-r--r--routers/web/admin/auths.go3
-rw-r--r--routers/web/auth/oauth.go4
2 files changed, 7 insertions, 0 deletions
diff --git a/routers/web/admin/auths.go b/routers/web/admin/auths.go
index 338a54c5dd..20f364739e 100644
--- a/routers/web/admin/auths.go
+++ b/routers/web/admin/auths.go
@@ -192,6 +192,9 @@ func parseOAuth2Config(form forms.AuthenticationForm) *oauth2.Source {
RequiredClaimName: form.Oauth2RequiredClaimName,
RequiredClaimValue: form.Oauth2RequiredClaimValue,
SkipLocalTwoFA: form.SkipLocalTwoFA,
+ GroupClaimName: form.Oauth2GroupClaimName,
+ RestrictedGroup: form.Oauth2RestrictedGroup,
+ AdminGroup: form.Oauth2AdminGroup,
}
}
diff --git a/routers/web/auth/oauth.go b/routers/web/auth/oauth.go
index 7793a408d8..a8a132bc94 100644
--- a/routers/web/auth/oauth.go
+++ b/routers/web/auth/oauth.go
@@ -900,6 +900,10 @@ func claimValueToStringSlice(claimValue interface{}) []string {
switch rawGroup := claimValue.(type) {
case []string:
groups = rawGroup
+ case []interface{}:
+ for _, group := range rawGroup {
+ groups = append(groups, fmt.Sprintf("%s", group))
+ }
default:
str := fmt.Sprintf("%s", rawGroup)
groups = strings.Split(str, ",")