summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2023-02-08 07:44:42 +0100
committerGitHub <noreply@github.com>2023-02-08 14:44:42 +0800
commite8186f1c0f194ce3f63bed9a564002b80c0859c9 (patch)
tree75ffc50f54af2ef441ecf60448531b9e0ed64490 /templates
parent2c6cc0b8c982b3d49a5b208f75e15b2269584312 (diff)
downloadgitea-e8186f1c0f194ce3f63bed9a564002b80c0859c9.tar.gz
gitea-e8186f1c0f194ce3f63bed9a564002b80c0859c9.zip
Map OIDC groups to Orgs/Teams (#21441)
Fixes #19555 Test-Instructions: https://github.com/go-gitea/gitea/pull/21441#issuecomment-1419438000 This PR implements the mapping of user groups provided by OIDC providers to orgs teams in Gitea. The main part is a refactoring of the existing LDAP code to make it usable from different providers. Refactorings: - Moved the router auth code from module to service because of import cycles - Changed some model methods to take a `Context` parameter - Moved the mapping code from LDAP to a common location I've tested it with Keycloak but other providers should work too. The JSON mapping format is the same as for LDAP. ![grafik](https://user-images.githubusercontent.com/1666336/195634392-3fc540fc-b229-4649-99ac-91ae8e19df2d.png) --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'templates')
-rw-r--r--templates/admin/auth/edit.tmpl8
-rw-r--r--templates/admin/auth/source/ldap.tmpl2
-rw-r--r--templates/admin/auth/source/oauth.tmpl8
3 files changed, 17 insertions, 1 deletions
diff --git a/templates/admin/auth/edit.tmpl b/templates/admin/auth/edit.tmpl
index 91e4b1df52..a3c94a6cc2 100644
--- a/templates/admin/auth/edit.tmpl
+++ b/templates/admin/auth/edit.tmpl
@@ -361,6 +361,14 @@
<label for="oauth2_restricted_group">{{.locale.Tr "admin.auths.oauth2_restricted_group"}}</label>
<input id="oauth2_restricted_group" name="oauth2_restricted_group" value="{{$cfg.RestrictedGroup}}">
</div>
+ <div class="field">
+ <label>{{.locale.Tr "admin.auths.oauth2_map_group_to_team"}}</label>
+ <input name="oauth2_group_team_map" value="{{$cfg.GroupTeamMap}}" placeholder='e.g. {"Developer": {"MyGiteaOrganization": ["MyGiteaTeam1", "MyGiteaTeam2"]}}'>
+ </div>
+ <div class="ui checkbox">
+ <label>{{.locale.Tr "admin.auths.oauth2_map_group_to_team_removal"}}</label>
+ <input name="oauth2_group_team_map_removal" type="checkbox" {{if $cfg.GroupTeamMapRemoval}}checked{{end}}>
+ </div>
{{end}}
<!-- SSPI -->
diff --git a/templates/admin/auth/source/ldap.tmpl b/templates/admin/auth/source/ldap.tmpl
index b44eb799b9..8d199854ae 100644
--- a/templates/admin/auth/source/ldap.tmpl
+++ b/templates/admin/auth/source/ldap.tmpl
@@ -52,7 +52,7 @@
</div>
<div class="field">
<label for="restricted_filter">{{.locale.Tr "admin.auths.restricted_filter"}}</label>
- <input id="restricted_filter" name="admin_filter" value="{{.restricted_filter}}">
+ <input id="restricted_filter" name="restricted_filter" value="{{.restricted_filter}}">
<p class="help">{{.locale.Tr "admin.auths.restricted_filter_helper"}}</p>
</div>
<div class="field">
diff --git a/templates/admin/auth/source/oauth.tmpl b/templates/admin/auth/source/oauth.tmpl
index 166373a324..85c77343a5 100644
--- a/templates/admin/auth/source/oauth.tmpl
+++ b/templates/admin/auth/source/oauth.tmpl
@@ -98,4 +98,12 @@
<label for="oauth2_restricted_group">{{.locale.Tr "admin.auths.oauth2_restricted_group"}}</label>
<input id="oauth2_restricted_group" name="oauth2_restricted_group" value="{{.oauth2_group_claim_name}}">
</div>
+ <div class="field">
+ <label>{{.locale.Tr "admin.auths.oauth2_map_group_to_team"}}</label>
+ <input name="oauth2_group_team_map" value="{{.group_team_map}}" placeholder='e.g. {"Developer": {"MyGiteaOrganization": ["MyGiteaTeam1", "MyGiteaTeam2"]}}'>
+ </div>
+ <div class="ui checkbox">
+ <label>{{.locale.Tr "admin.auths.oauth2_map_group_to_team_removal"}}</label>
+ <input name="oauth2_group_team_map_removal" type="checkbox" {{if .group_team_map_removal}}checked{{end}}>
+ </div>
</div>