bugfix: move oidc scope logic to oidc provider
This commit is contained in:
		
							parent
							
								
									01386bf303
								
							
						
					
					
						commit
						6f6039c82b
					
				|  | @ -7,6 +7,7 @@ | ||||||
| ## Breaking Changes | ## Breaking Changes | ||||||
| 
 | 
 | ||||||
| ## Changes since v7.5.0 | ## Changes since v7.5.0 | ||||||
|  | - [#1989](https://github.com/oauth2-proxy/oauth2-proxy/pull/1989) Fix default scope for keycloak-oidc provider | ||||||
| 
 | 
 | ||||||
| # V7.5.0 | # V7.5.0 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -20,16 +20,24 @@ type OIDCProvider struct { | ||||||
| 	SkipNonce bool | 	SkipNonce bool | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | const oidcDefaultScope = "openid email profile" | ||||||
|  | 
 | ||||||
| // NewOIDCProvider initiates a new OIDCProvider
 | // NewOIDCProvider initiates a new OIDCProvider
 | ||||||
| func NewOIDCProvider(p *ProviderData, opts options.OIDCOptions) *OIDCProvider { | func NewOIDCProvider(p *ProviderData, opts options.OIDCOptions) *OIDCProvider { | ||||||
| 	p.setProviderDefaults(providerDefaults{ | 	oidcProviderDefaults := providerDefaults{ | ||||||
| 		name:        "OpenID Connect", | 		name:        "OpenID Connect", | ||||||
| 		loginURL:    nil, | 		loginURL:    nil, | ||||||
| 		redeemURL:   nil, | 		redeemURL:   nil, | ||||||
| 		profileURL:  nil, | 		profileURL:  nil, | ||||||
| 		validateURL: nil, | 		validateURL: nil, | ||||||
| 		scope:       "", | 		scope:       oidcDefaultScope, | ||||||
| 	}) | 	} | ||||||
|  | 
 | ||||||
|  | 	if len(p.AllowedGroups) > 0 { | ||||||
|  | 		oidcProviderDefaults.scope += " groups" | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	p.setProviderDefaults(oidcProviderDefaults) | ||||||
| 	p.getAuthorizationHeaderFunc = makeOIDCHeader | 	p.getAuthorizationHeaderFunc = makeOIDCHeader | ||||||
| 
 | 
 | ||||||
| 	return &OIDCProvider{ | 	return &OIDCProvider{ | ||||||
|  |  | ||||||
|  | @ -156,14 +156,6 @@ func newProviderDataFromConfig(providerConfig options.Provider) (*ProviderData, | ||||||
| 		p.EmailClaim = providerConfig.OIDCConfig.UserIDClaim | 		p.EmailClaim = providerConfig.OIDCConfig.UserIDClaim | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if providerConfig.Type == "oidc" && p.Scope == "" { |  | ||||||
| 		p.Scope = "openid email profile" |  | ||||||
| 
 |  | ||||||
| 		if len(providerConfig.AllowedGroups) > 0 { |  | ||||||
| 			p.Scope += " groups" |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	p.setAllowedGroups(providerConfig.AllowedGroups) | 	p.setAllowedGroups(providerConfig.AllowedGroups) | ||||||
| 
 | 
 | ||||||
| 	return p, nil | 	return p, nil | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue