git.iko.soy/typeable/oauth2-proxy
on master help sign in
Standardize provider interface method names
commite9f787957e72f110277728dc1a02c33215a4a317 authorNick Meves <nick.meves@greenhouse.io> dateFri 23 Oct 2020, 22:06 (6 years ago) parent2706909
15 files changed+29−29
oauthproxy.go+3−3 oauthproxy_test.go+1−1 providers/digitalocean.go+1−1 providers/facebook.go+1−1 providers/github.go+2−2 providers/gitlab.go+2−2 providers/gitlab_test.go+6−6 providers/google.go+1−1 providers/internal_util_test.go+1−1 providers/linkedin.go+1−1 providers/oidc.go+2−2 providers/oidc_test.go+1−1 providers/provider_default.go+3−3 providers/provider_default_test.go+1−1 providers/providers.go+3−3
oauthproxy.go+3−3
@@ -270,7 +270,7 @@ func buildSessionChain(opts *options.Options, sessionStore sessionsapi.SessionSt
270270 if opts.GetOIDCVerifier() != nil {
271271 sessionLoaders = append(sessionLoaders, middlewareapi.TokenToSessionLoader{
272272 Verifier: opts.GetOIDCVerifier(),
273− TokenToSession: opts.GetProvider().CreateSessionStateFromBearerToken,
273+ TokenToSession: opts.GetProvider().CreateSessionFromBearer,
274274 })
275275 }
276276
@@ -291,7 +291,7 @@ func buildSessionChain(opts *options.Options, sessionStore sessionsapi.SessionSt
291291 SessionStore: sessionStore,
292292 RefreshPeriod: opts.Cookie.Refresh,
293293 RefreshSessionIfNeeded: opts.GetProvider().RefreshSessionIfNeeded,
294− ValidateSessionState: opts.GetProvider().ValidateSessionState,
294+ ValidateSessionState: opts.GetProvider().ValidateSession,
295295 }))
296296
297297 return chain
@@ -416,7 +416,7 @@ func (p *OAuthProxy) enrichSessionState(ctx context.Context, s *sessionsapi.Sess
416416 }
417417 }
418418
419− return p.provider.EnrichSessionState(ctx, s)
419+ return p.provider.EnrichSession(ctx, s)
420420}
421421
422422// MakeCSRFCookie creates a cookie for CSRF
oauthproxy_test.go+1−1
@@ -400,7 +400,7 @@ func (tp *TestProvider) GetEmailAddress(_ context.Context, _ *sessions.SessionSt
400400 return tp.EmailAddress, nil
401401}
402402
403−func (tp *TestProvider) ValidateSessionState(_ context.Context, _ *sessions.SessionState) bool {
403+func (tp *TestProvider) ValidateSession(_ context.Context, _ *sessions.SessionState) bool {
404404 return tp.ValidToken
405405}
406406
providers/digitalocean.go+1−1
@@ -83,6 +83,6 @@ func (p *DigitalOceanProvider) GetEmailAddress(ctx context.Context, s *sessions.
8383}
8484
8585// ValidateSessionState validates the AccessToken
86−func (p *DigitalOceanProvider) ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool {
86+func (p *DigitalOceanProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
8787 return validateToken(ctx, p, s.AccessToken, makeOIDCHeader(s.AccessToken))
8888}
providers/facebook.go+1−1
@@ -89,6 +89,6 @@ func (p *FacebookProvider) GetEmailAddress(ctx context.Context, s *sessions.Sess
8989}
9090
9191// ValidateSessionState validates the AccessToken
92−func (p *FacebookProvider) ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool {
92+func (p *FacebookProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
9393 return validateToken(ctx, p, s.AccessToken, makeOIDCHeader(s.AccessToken))
9494}
providers/github.go+2−2
@@ -103,7 +103,7 @@ func (p *GitHubProvider) SetUsers(users []string) {
103103}
104104
105105// EnrichSessionState updates the User & Email after the initial Redeem
106−func (p *GitHubProvider) EnrichSessionState(ctx context.Context, s *sessions.SessionState) error {
106+func (p *GitHubProvider) EnrichSession(ctx context.Context, s *sessions.SessionState) error {
107107 err := p.getEmail(ctx, s)
108108 if err != nil {
109109 return err
@@ -112,7 +112,7 @@ func (p *GitHubProvider) EnrichSessionState(ctx context.Context, s *sessions.Ses
112112}
113113
114114// ValidateSessionState validates the AccessToken
115−func (p *GitHubProvider) ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool {
115+func (p *GitHubProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
116116 return validateToken(ctx, p, s.AccessToken, makeGitHubHeader(s.AccessToken))
117117}
118118
providers/gitlab.go+2−2
@@ -188,13 +188,13 @@ func (p *GitLabProvider) createSessionState(ctx context.Context, token *oauth2.T
188188}
189189
190190// ValidateSessionState checks that the session's IDToken is still valid
191−func (p *GitLabProvider) ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool {
191+func (p *GitLabProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
192192 _, err := p.Verifier.Verify(ctx, s.IDToken)
193193 return err == nil
194194}
195195
196196// GetEmailAddress returns the Account email address
197−func (p *GitLabProvider) EnrichSessionState(ctx context.Context, s *sessions.SessionState) error {
197+func (p *GitLabProvider) EnrichSession(ctx context.Context, s *sessions.SessionState) error {
198198 // Retrieve user info
199199 userInfo, err := p.getUserInfo(ctx, s)
200200 if err != nil {
providers/gitlab_test.go+6−6
@@ -64,7 +64,7 @@ func TestGitLabProviderBadToken(t *testing.T) {
6464 p := testGitLabProvider(bURL.Host)
6565
6666 session := &sessions.SessionState{AccessToken: "unexpected_gitlab_access_token"}
67− err := p.EnrichSessionState(context.Background(), session)
67+ err := p.EnrichSession(context.Background(), session)
6868 assert.Error(t, err)
6969}
7070
@@ -76,7 +76,7 @@ func TestGitLabProviderUnverifiedEmailDenied(t *testing.T) {
7676 p := testGitLabProvider(bURL.Host)
7777
7878 session := &sessions.SessionState{AccessToken: "gitlab_access_token"}
79− err := p.EnrichSessionState(context.Background(), session)
79+ err := p.EnrichSession(context.Background(), session)
8080 assert.Error(t, err)
8181}
8282
@@ -89,7 +89,7 @@ func TestGitLabProviderUnverifiedEmailAllowed(t *testing.T) {
8989 p.AllowUnverifiedEmail = true
9090
9191 session := &sessions.SessionState{AccessToken: "gitlab_access_token"}
92− err := p.EnrichSessionState(context.Background(), session)
92+ err := p.EnrichSession(context.Background(), session)
9393 assert.NoError(t, err)
9494 assert.Equal(t, "foo@bar.com", session.Email)
9595}
@@ -103,7 +103,7 @@ func TestGitLabProviderUsername(t *testing.T) {
103103 p.AllowUnverifiedEmail = true
104104
105105 session := &sessions.SessionState{AccessToken: "gitlab_access_token"}
106− err := p.EnrichSessionState(context.Background(), session)
106+ err := p.EnrichSession(context.Background(), session)
107107 assert.NoError(t, err)
108108 assert.Equal(t, "FooBar", session.User)
109109}
@@ -118,7 +118,7 @@ func TestGitLabProviderGroupMembershipValid(t *testing.T) {
118118 p.Groups = []string{"foo"}
119119
120120 session := &sessions.SessionState{AccessToken: "gitlab_access_token"}
121− err := p.EnrichSessionState(context.Background(), session)
121+ err := p.EnrichSession(context.Background(), session)
122122 assert.NoError(t, err)
123123 assert.Equal(t, "FooBar", session.User)
124124}
@@ -133,6 +133,6 @@ func TestGitLabProviderGroupMembershipMissing(t *testing.T) {
133133 p.Groups = []string{"baz"}
134134
135135 session := &sessions.SessionState{AccessToken: "gitlab_access_token"}
136− err := p.EnrichSessionState(context.Background(), session)
136+ err := p.EnrichSession(context.Background(), session)
137137 assert.Error(t, err)
138138}
providers/google.go+1−1
@@ -179,7 +179,7 @@ func (p *GoogleProvider) Redeem(ctx context.Context, redirectURL, code string) (
179179
180180// EnrichSessionState checks the listed Google Groups configured and adds any
181181// that the user is a member of to session.Groups.
182−func (p *GoogleProvider) EnrichSessionState(ctx context.Context, s *sessions.SessionState) error {
182+func (p *GoogleProvider) EnrichSession(ctx context.Context, s *sessions.SessionState) error {
183183 // TODO (@NickMeves) - Move to pure EnrichSessionState logic and stop
184184 // reusing legacy `groupValidator`.
185185 //
providers/internal_util_test.go+1−1
@@ -32,7 +32,7 @@ func (tp *ValidateSessionStateTestProvider) GetEmailAddress(ctx context.Context,
3232
3333// Note that we're testing the internal validateToken() used to implement
3434// several Provider's ValidateSessionState() implementations
35−func (tp *ValidateSessionStateTestProvider) ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool {
35+func (tp *ValidateSessionStateTestProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
3636 return false
3737}
3838
providers/linkedin.go+1−1
@@ -94,6 +94,6 @@ func (p *LinkedInProvider) GetEmailAddress(ctx context.Context, s *sessions.Sess
9494}
9595
9696// ValidateSessionState validates the AccessToken
97−func (p *LinkedInProvider) ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool {
97+func (p *LinkedInProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
9898 return validateToken(ctx, p, s.AccessToken, makeLinkedInHeader(s.AccessToken))
9999}
providers/oidc.go+2−2
@@ -175,7 +175,7 @@ func (p *OIDCProvider) createSessionState(ctx context.Context, token *oauth2.Tok
175175 return newSession, nil
176176}
177177
178−func (p *OIDCProvider) CreateSessionStateFromBearerToken(ctx context.Context, rawIDToken string, idToken *oidc.IDToken) (*sessions.SessionState, error) {
178+func (p *OIDCProvider) CreateSessionFromBearer(ctx context.Context, rawIDToken string, idToken *oidc.IDToken) (*sessions.SessionState, error) {
179179 newSession, err := p.createSessionStateInternal(ctx, idToken, nil)
180180 if err != nil {
181181 return nil, err
@@ -221,7 +221,7 @@ func (p *OIDCProvider) createSessionStateInternal(ctx context.Context, idToken *
221221}
222222
223223// ValidateSessionState checks that the session's IDToken is still valid
224−func (p *OIDCProvider) ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool {
224+func (p *OIDCProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
225225 _, err := p.Verifier.Verify(ctx, s.IDToken)
226226 return err == nil
227227}
providers/oidc_test.go+1−1
@@ -354,7 +354,7 @@ func TestCreateSessionStateFromBearerToken(t *testing.T) {
354354 idToken, err := verifier.Verify(context.Background(), rawIDToken)
355355 assert.NoError(t, err)
356356
357− ss, err := provider.CreateSessionStateFromBearerToken(context.Background(), rawIDToken, idToken)
357+ ss, err := provider.CreateSessionFromBearer(context.Background(), rawIDToken, idToken)
358358 assert.NoError(t, err)
359359
360360 assert.Equal(t, tc.ExpectedUser, ss.User)
providers/provider_default.go+3−3
@@ -94,7 +94,7 @@ func (p *ProviderData) GetEmailAddress(_ context.Context, _ *sessions.SessionSta
9494
9595// EnrichSessionState is called after Redeem to allow providers to enrich session fields
9696// such as User, Email, Groups with provider specific API calls.
97−func (p *ProviderData) EnrichSessionState(_ context.Context, _ *sessions.SessionState) error {
97+func (p *ProviderData) EnrichSession(_ context.Context, _ *sessions.SessionState) error {
9898 return nil
9999}
100100
@@ -115,7 +115,7 @@ func (p *ProviderData) Authorize(_ context.Context, s *sessions.SessionState) (b
115115}
116116
117117// ValidateSessionState validates the AccessToken
118−func (p *ProviderData) ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool {
118+func (p *ProviderData) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
119119 return validateToken(ctx, p, s.AccessToken, nil)
120120}
121121
@@ -127,6 +127,6 @@ func (p *ProviderData) RefreshSessionIfNeeded(_ context.Context, _ *sessions.Ses
127127
128128// CreateSessionStateFromBearerToken should be implemented to allow providers
129129// to convert ID tokens into sessions
130−func (p *ProviderData) CreateSessionStateFromBearerToken(_ context.Context, _ string, _ *oidc.IDToken) (*sessions.SessionState, error) {
130+func (p *ProviderData) CreateSessionFromBearer(_ context.Context, _ string, _ *oidc.IDToken) (*sessions.SessionState, error) {
131131 return nil, ErrNotImplemented
132132}
providers/provider_default_test.go+1−1
@@ -52,7 +52,7 @@ func TestAcrValuesConfigured(t *testing.T) {
5252func TestEnrichSessionState(t *testing.T) {
5353 p := &ProviderData{}
5454 s := &sessions.SessionState{}
55− assert.NoError(t, p.EnrichSessionState(context.Background(), s))
55+ assert.NoError(t, p.EnrichSession(context.Background(), s))
5656}
5757
5858func TestProviderDataAuthorize(t *testing.T) {
providers/providers.go+3−3
@@ -13,12 +13,12 @@ type Provider interface {
1313 // DEPRECATED: Migrate to EnrichSessionState
1414 GetEmailAddress(ctx context.Context, s *sessions.SessionState) (string, error)
1515 Redeem(ctx context.Context, redirectURI, code string) (*sessions.SessionState, error)
16− EnrichSessionState(ctx context.Context, s *sessions.SessionState) error
16+ EnrichSession(ctx context.Context, s *sessions.SessionState) error
1717 Authorize(ctx context.Context, s *sessions.SessionState) (bool, error)
18− ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool
18+ ValidateSession(ctx context.Context, s *sessions.SessionState) bool
1919 GetLoginURL(redirectURI, finalRedirect string) string
2020 RefreshSessionIfNeeded(ctx context.Context, s *sessions.SessionState) (bool, error)
21− CreateSessionStateFromBearerToken(ctx context.Context, rawIDToken string, idToken *oidc.IDToken) (*sessions.SessionState, error)
21+ CreateSessionFromBearer(ctx context.Context, rawIDToken string, idToken *oidc.IDToken) (*sessions.SessionState, error)
2222}
2323
2424// New provides a new Provider based on the configured provider string