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

Function NewGitLabProvider

providers/gitlab.go:34–56  ·  view source on GitHub ↗

NewGitLabProvider initiates a new GitLabProvider

(p *ProviderData, opts options.Provider)

Source from the content-addressed store, hash-verified

32
33// NewGitLabProvider initiates a new GitLabProvider
34func NewGitLabProvider(p *ProviderData, opts options.Provider) (*GitLabProvider, error) {
35 p.setProviderDefaults(providerDefaults{
36 name: gitlabProviderName,
37 })
38
39 if p.Scope == "" {
40 p.Scope = gitlabDefaultScope
41 }
42
43 oidcProvider := NewOIDCProvider(p, opts.OIDCConfig)
44
45 provider := &GitLabProvider{
46 OIDCProvider: oidcProvider,
47 oidcRefreshFunc: oidcProvider.RefreshSession,
48 }
49 provider.setAllowedGroups(opts.GitLabConfig.Group)
50
51 if err := provider.setAllowedProjects(opts.GitLabConfig.Projects); err != nil {
52 return nil, fmt.Errorf("could not configure allowed projects: %v", err)
53 }
54
55 return provider, nil
56}
57
58// setAllowedProjects adds Gitlab projects to the AllowedGroups list
59// and tracks them to do a project API lookup during `EnrichSession`.

Callers 2

NewProviderFunction · 0.85
testGitLabProviderFunction · 0.85

Calls 4

setAllowedProjectsMethod · 0.95
NewOIDCProviderFunction · 0.85
setProviderDefaultsMethod · 0.80
setAllowedGroupsMethod · 0.80

Tested by 1

testGitLabProviderFunction · 0.68