MCPcopy
hub / github.com/oauth2-proxy/oauth2-proxy / NewProvider

Function NewProvider

providers/providers.go:35–78  ·  view source on GitHub ↗
(providerConfig options.Provider)

Source from the content-addressed store, hash-verified

33}
34
35func NewProvider(providerConfig options.Provider) (Provider, error) {
36 providerData, err := newProviderDataFromConfig(providerConfig)
37 if err != nil {
38 return nil, fmt.Errorf("could not create provider data: %v", err)
39 }
40 switch providerConfig.Type {
41 case options.ADFSProvider:
42 return NewADFSProvider(providerData, providerConfig), nil
43 case options.AzureProvider:
44 return NewAzureProvider(providerData, providerConfig.AzureConfig), nil
45 case options.MicrosoftEntraIDProvider:
46 return NewMicrosoftEntraIDProvider(providerData, providerConfig), nil
47 case options.BitbucketProvider:
48 return NewBitbucketProvider(providerData, providerConfig.BitbucketConfig), nil
49 case options.CidaasProvider:
50 return NewCIDAASProvider(providerData, providerConfig), nil
51 case options.DigitalOceanProvider:
52 return NewDigitalOceanProvider(providerData), nil
53 case options.FacebookProvider:
54 return NewFacebookProvider(providerData), nil
55 case options.GitHubProvider:
56 return NewGitHubProvider(providerData, providerConfig.GitHubConfig), nil
57 case options.GitLabProvider:
58 return NewGitLabProvider(providerData, providerConfig)
59 case options.GoogleProvider:
60 return NewGoogleProvider(providerData, providerConfig.GoogleConfig)
61 case options.KeycloakProvider:
62 return NewKeycloakProvider(providerData, providerConfig.KeycloakConfig), nil
63 case options.KeycloakOIDCProvider:
64 return NewKeycloakOIDCProvider(providerData, providerConfig), nil
65 case options.LinkedInProvider:
66 return NewLinkedInProvider(providerData), nil
67 case options.LoginGovProvider:
68 return NewLoginGovProvider(providerData, providerConfig.LoginGovConfig)
69 case options.NextCloudProvider:
70 return NewNextcloudProvider(providerData), nil
71 case options.OIDCProvider:
72 return NewOIDCProvider(providerData, providerConfig.OIDCConfig), nil
73 case options.SourceHutProvider:
74 return NewSourceHutProvider(providerData), nil
75 default:
76 return nil, fmt.Errorf("unknown provider type %q", providerConfig.Type)
77 }
78}
79
80func newProviderDataFromConfig(providerConfig options.Provider) (*ProviderData, error) {
81 p := &ProviderData{

Callers 2

NewOAuthProxyFunction · 0.92
TestScopeFunction · 0.70

Calls 15

NewADFSProviderFunction · 0.85
NewAzureProviderFunction · 0.85
NewBitbucketProviderFunction · 0.85
NewCIDAASProviderFunction · 0.85
NewDigitalOceanProviderFunction · 0.85
NewFacebookProviderFunction · 0.85
NewGitHubProviderFunction · 0.85
NewGitLabProviderFunction · 0.85
NewGoogleProviderFunction · 0.85
NewKeycloakProviderFunction · 0.85

Tested by 1

TestScopeFunction · 0.56