6 "github.com/coreos/go-oidc"
7 "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/apis/sessions"
10// Provider represents an upstream identity provider implementation
11type Provider interface {
13 // DEPRECATED: Migrate to EnrichSessionState
14 GetEmailAddress(ctx context.Context, s *sessions.SessionState) (string, error)
15 Redeem(ctx context.Context, redirectURI, code string) (*sessions.SessionState, error)
16 ValidateGroup(string) bool
17 EnrichSessionState(ctx context.Context, s *sessions.SessionState) error
18 ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool
19 GetLoginURL(redirectURI, finalRedirect string) string
20 RefreshSessionIfNeeded(ctx context.Context, s *sessions.SessionState) (bool, error)
21 CreateSessionStateFromBearerToken(ctx context.Context, rawIDToken string, idToken *oidc.IDToken) (*sessions.SessionState, error)
24// New provides a new Provider based on the configured provider string
25func New(provider string, p *ProviderData) Provider {
28 return NewLinkedInProvider(p)
30 return NewFacebookProvider(p)
32 return NewGitHubProvider(p)
34 return NewKeycloakProvider(p)
36 return NewAzureProvider(p)
38 return NewGitLabProvider(p)
40 return NewOIDCProvider(p)
42 return NewLoginGovProvider(p)
44 return NewBitbucketProvider(p)
46 return NewNextcloudProvider(p)
48 return NewDigitalOceanProvider(p)
50 return NewGoogleProvider(p)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list