mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 14:31:02 +00:00 
			
		
		
		
	[TESTS] oauth2: make it possible to use an alternate http.Client
(cherry picked from commit aea4ab25a9)
	
	
This commit is contained in:
		
					parent
					
						
							
								4cd5e7214b
							
						
					
				
			
			
				commit
				
					
						c4e1018e93
					
				
			
		
					 3 changed files with 30 additions and 7 deletions
				
			
		
							
								
								
									
										10
									
								
								services/auth/source/oauth2/http.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								services/auth/source/oauth2/http.go
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| // SPDX-FileCopyrightText: Copyright the Forgejo contributors | ||||
| // SPDX-License-Identifier: MIT | ||||
| 
 | ||||
| package oauth2 | ||||
| 
 | ||||
| import ( | ||||
| 	"net/http" | ||||
| ) | ||||
| 
 | ||||
| var HTTPClient *http.Client | ||||
|  | @ -63,7 +63,9 @@ func init() { | |||
| 			if setting.OAuth2Client.EnableAutoRegistration { | ||||
| 				scopes = append(scopes, "user:email") | ||||
| 			} | ||||
| 			return github.NewCustomisedURL(clientID, secret, callbackURL, custom.AuthURL, custom.TokenURL, custom.ProfileURL, custom.EmailURL, scopes...), nil | ||||
| 			provider := github.NewCustomisedURL(clientID, secret, callbackURL, custom.AuthURL, custom.TokenURL, custom.ProfileURL, custom.EmailURL, scopes...) | ||||
| 			provider.HTTPClient = HTTPClient | ||||
| 			return provider, nil | ||||
| 		})) | ||||
| 
 | ||||
| 	RegisterGothProvider(NewCustomProvider( | ||||
|  | @ -73,7 +75,9 @@ func init() { | |||
| 			ProfileURL: availableAttribute(gitlab.ProfileURL), | ||||
| 		}, func(clientID, secret, callbackURL string, custom *CustomURLMapping, scopes []string) (goth.Provider, error) { | ||||
| 			scopes = append(scopes, "read_user") | ||||
| 			return gitlab.NewCustomisedURL(clientID, secret, callbackURL, custom.AuthURL, custom.TokenURL, custom.ProfileURL, scopes...), nil | ||||
| 			provider := gitlab.NewCustomisedURL(clientID, secret, callbackURL, custom.AuthURL, custom.TokenURL, custom.ProfileURL, scopes...) | ||||
| 			provider.HTTPClient = HTTPClient | ||||
| 			return provider, nil | ||||
| 		})) | ||||
| 
 | ||||
| 	RegisterGothProvider(NewCustomProvider( | ||||
|  | @ -83,7 +87,9 @@ func init() { | |||
| 			ProfileURL: requiredAttribute(gitea.ProfileURL), | ||||
| 		}, | ||||
| 		func(clientID, secret, callbackURL string, custom *CustomURLMapping, scopes []string) (goth.Provider, error) { | ||||
| 			return gitea.NewCustomisedURL(clientID, secret, callbackURL, custom.AuthURL, custom.TokenURL, custom.ProfileURL, scopes...), nil | ||||
| 			provider := gitea.NewCustomisedURL(clientID, secret, callbackURL, custom.AuthURL, custom.TokenURL, custom.ProfileURL, scopes...) | ||||
| 			provider.HTTPClient = HTTPClient | ||||
| 			return provider, nil | ||||
| 		})) | ||||
| 
 | ||||
| 	RegisterGothProvider(NewCustomProvider( | ||||
|  | @ -93,7 +99,9 @@ func init() { | |||
| 			ProfileURL: requiredAttribute(nextcloud.ProfileURL), | ||||
| 		}, | ||||
| 		func(clientID, secret, callbackURL string, custom *CustomURLMapping, scopes []string) (goth.Provider, error) { | ||||
| 			return nextcloud.NewCustomisedURL(clientID, secret, callbackURL, custom.AuthURL, custom.TokenURL, custom.ProfileURL, scopes...), nil | ||||
| 			provider := nextcloud.NewCustomisedURL(clientID, secret, callbackURL, custom.AuthURL, custom.TokenURL, custom.ProfileURL, scopes...) | ||||
| 			provider.HTTPClient = HTTPClient | ||||
| 			return provider, nil | ||||
| 		})) | ||||
| 
 | ||||
| 	RegisterGothProvider(NewCustomProvider( | ||||
|  | @ -101,7 +109,9 @@ func init() { | |||
| 			AuthURL: requiredAttribute(mastodon.InstanceURL), | ||||
| 		}, | ||||
| 		func(clientID, secret, callbackURL string, custom *CustomURLMapping, scopes []string) (goth.Provider, error) { | ||||
| 			return mastodon.NewCustomisedURL(clientID, secret, callbackURL, custom.AuthURL, scopes...), nil | ||||
| 			provider := mastodon.NewCustomisedURL(clientID, secret, callbackURL, custom.AuthURL, scopes...) | ||||
| 			provider.HTTPClient = HTTPClient | ||||
| 			return provider, nil | ||||
| 		})) | ||||
| 
 | ||||
| 	RegisterGothProvider(NewCustomProvider( | ||||
|  | @ -114,10 +124,12 @@ func init() { | |||
| 				azureScopes[i] = azureadv2.ScopeType(scope) | ||||
| 			} | ||||
| 
 | ||||
| 			return azureadv2.New(clientID, secret, callbackURL, azureadv2.ProviderOptions{ | ||||
| 			provider := azureadv2.New(clientID, secret, callbackURL, azureadv2.ProviderOptions{ | ||||
| 				Tenant: azureadv2.TenantType(custom.Tenant), | ||||
| 				Scopes: azureScopes, | ||||
| 			}), nil | ||||
| 			}) | ||||
| 			provider.HTTPClient = HTTPClient | ||||
| 			return provider, nil | ||||
| 		}, | ||||
| 	)) | ||||
| } | ||||
|  |  | |||
|  | @ -43,6 +43,7 @@ func (o *OpenIDProvider) CreateGothProvider(providerName, callbackURL string, so | |||
| 	if err != nil { | ||||
| 		log.Warn("Failed to create OpenID Connect Provider with name '%s' with url '%s': %v", providerName, source.OpenIDConnectAutoDiscoveryURL, err) | ||||
| 	} | ||||
| 	provider.HTTPClient = HTTPClient | ||||
| 	return provider, err | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue