mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 19:38:23 +00:00 
			
		
		
		
	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.  --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		| @@ -8,13 +8,6 @@ import ( | ||||
| 	"code.gitea.io/gitea/modules/json" | ||||
| ) | ||||
|  | ||||
| // ________      _____          __  .__     ________ | ||||
| // \_____  \    /  _  \  __ ___/  |_|  |__  \_____  \ | ||||
| // /   |   \  /  /_\  \|  |  \   __\  |  \  /  ____/ | ||||
| // /    |    \/    |    \  |  /|  | |   Y  \/       \ | ||||
| // \_______  /\____|__  /____/ |__| |___|  /\_______ \ | ||||
| //         \/         \/                 \/         \/ | ||||
|  | ||||
| // Source holds configuration for the OAuth2 login source. | ||||
| type Source struct { | ||||
| 	Provider                      string | ||||
| @@ -24,13 +17,15 @@ type Source struct { | ||||
| 	CustomURLMapping              *CustomURLMapping | ||||
| 	IconURL                       string | ||||
|  | ||||
| 	Scopes             []string | ||||
| 	RequiredClaimName  string | ||||
| 	RequiredClaimValue string | ||||
| 	GroupClaimName     string | ||||
| 	AdminGroup         string | ||||
| 	RestrictedGroup    string | ||||
| 	SkipLocalTwoFA     bool `json:",omitempty"` | ||||
| 	Scopes              []string | ||||
| 	RequiredClaimName   string | ||||
| 	RequiredClaimValue  string | ||||
| 	GroupClaimName      string | ||||
| 	AdminGroup          string | ||||
| 	GroupTeamMap        string | ||||
| 	GroupTeamMapRemoval bool | ||||
| 	RestrictedGroup     string | ||||
| 	SkipLocalTwoFA      bool `json:",omitempty"` | ||||
|  | ||||
| 	// reference to the authSource | ||||
| 	authSource *auth.Source | ||||
|   | ||||
		Reference in New Issue
	
	Block a user