git.iko.soy/typeable/oauth2-proxy
on master help sign in
Cleanup method name refactors missed in comments
26ed080Nick Meves
CHANGELOG.md+1
@@ -43,6 +43,7 @@
43
43
44## Changes since v6.1.1
44## Changes since v6.1.1
45
45
46+- [#938](https://github.com/oauth2-proxy/oauth2-proxy/pull/938) Cleanup missed provider renaming refactor methods (@NickMeves)
46- [#925](https://github.com/oauth2-proxy/oauth2-proxy/pull/925) Fix basic auth legacy header conversion (@JoelSpeed)
47- [#925](https://github.com/oauth2-proxy/oauth2-proxy/pull/925) Fix basic auth legacy header conversion (@JoelSpeed)
47- [#916](https://github.com/oauth2-proxy/oauth2-proxy/pull/916) Add AlphaOptions struct to prepare for alpha config loading (@JoelSpeed)
48- [#916](https://github.com/oauth2-proxy/oauth2-proxy/pull/916) Add AlphaOptions struct to prepare for alpha config loading (@JoelSpeed)
48- [#923](https://github.com/oauth2-proxy/oauth2-proxy/pull/923) Support TLS 1.3 (@aajisaka)
49- [#923](https://github.com/oauth2-proxy/oauth2-proxy/pull/923) Support TLS 1.3 (@aajisaka)
providers/azure.go+2−2
@@ -279,7 +279,7 @@ func (p *AzureProvider) GetLoginURL(redirectURI, state string) string {
279 return a.String()
279 return a.String()
280}
280}
281
281
282−// ValidateSessionState validates the AccessToken
282+// ValidateSession validates the AccessToken
283−func (p *AzureProvider) ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool {
283+func (p *AzureProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
284 return validateToken(ctx, p, s.AccessToken, makeAzureHeader(s.AccessToken))
284 return validateToken(ctx, p, s.AccessToken, makeAzureHeader(s.AccessToken))
285}
285}
providers/digitalocean.go+1−1
@@ -82,7 +82,7 @@ func (p *DigitalOceanProvider) GetEmailAddress(ctx context.Context, s *sessions.
82 return email, nil
82 return email, nil
83}
83}
84
84
85−// ValidateSessionState validates the AccessToken
85+// ValidateSession validates the AccessToken
86func (p *DigitalOceanProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
86func (p *DigitalOceanProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
87 return validateToken(ctx, p, s.AccessToken, makeOIDCHeader(s.AccessToken))
87 return validateToken(ctx, p, s.AccessToken, makeOIDCHeader(s.AccessToken))
88}
88}
providers/github.go+2−2
@@ -102,7 +102,7 @@ func (p *GitHubProvider) SetUsers(users []string) {
102 p.Users = users
102 p.Users = users
103}
103}
104
104
105−// EnrichSessionState updates the User & Email after the initial Redeem
105+// EnrichSession updates the User & Email after the initial Redeem
106func (p *GitHubProvider) EnrichSession(ctx context.Context, s *sessions.SessionState) error {
106func (p *GitHubProvider) EnrichSession(ctx context.Context, s *sessions.SessionState) error {
107 err := p.getEmail(ctx, s)
107 err := p.getEmail(ctx, s)
108 if err != nil {
108 if err != nil {
@@ -111,7 +111,7 @@ func (p *GitHubProvider) EnrichSession(ctx context.Context, s *sessions.SessionS
111 return p.getUser(ctx, s)
111 return p.getUser(ctx, s)
112}
112}
113
113
114−// ValidateSessionState validates the AccessToken
114+// ValidateSession validates the AccessToken
115func (p *GitHubProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
115func (p *GitHubProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
116 return validateToken(ctx, p, s.AccessToken, makeGitHubHeader(s.AccessToken))
116 return validateToken(ctx, p, s.AccessToken, makeGitHubHeader(s.AccessToken))
117}
117}
providers/gitlab.go+1−1
@@ -187,7 +187,7 @@ func (p *GitLabProvider) createSessionState(ctx context.Context, token *oauth2.T
187 }, nil
187 }, nil
188}
188}
189
189
190−// ValidateSessionState checks that the session's IDToken is still valid
190+// ValidateSession checks that the session's IDToken is still valid
191func (p *GitLabProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
191func (p *GitLabProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
192 _, err := p.Verifier.Verify(ctx, s.IDToken)
192 _, err := p.Verifier.Verify(ctx, s.IDToken)
193 return err == nil
193 return err == nil
providers/google.go+2−2
@@ -177,10 +177,10 @@ func (p *GoogleProvider) Redeem(ctx context.Context, redirectURL, code string) (
177 }, nil
177 }, nil
178}
178}
179
179
180−// EnrichSessionState checks the listed Google Groups configured and adds any
180+// EnrichSession checks the listed Google Groups configured and adds any
181// that the user is a member of to session.Groups.
181// that the user is a member of to session.Groups.
182func (p *GoogleProvider) EnrichSession(ctx context.Context, s *sessions.SessionState) error {
182func (p *GoogleProvider) EnrichSession(ctx context.Context, s *sessions.SessionState) error {
183− // TODO (@NickMeves) - Move to pure EnrichSessionState logic and stop
183+ // TODO (@NickMeves) - Move to pure EnrichSession logic and stop
184 // reusing legacy `groupValidator`.
184 // reusing legacy `groupValidator`.
185 //
185 //
186 // This is called here to get the validator to do the `session.Groups`
186 // This is called here to get the validator to do the `session.Groups`
providers/internal_util_test.go+20−20
@@ -20,30 +20,30 @@ func updateURL(url *url.URL, hostname string) {
20 url.Host = hostname
20 url.Host = hostname
21}
21}
22
22
23−type ValidateSessionStateTestProvider struct {
23+type ValidateSessionTestProvider struct {
24 *ProviderData
24 *ProviderData
25}
25}
26
26
27−var _ Provider = (*ValidateSessionStateTestProvider)(nil)
27+var _ Provider = (*ValidateSessionTestProvider)(nil)
28
28
29−func (tp *ValidateSessionStateTestProvider) GetEmailAddress(ctx context.Context, s *sessions.SessionState) (string, error) {
29+func (tp *ValidateSessionTestProvider) GetEmailAddress(ctx context.Context, s *sessions.SessionState) (string, error) {
30 return "", errors.New("not implemented")
30 return "", errors.New("not implemented")
31}
31}
32
32
33// Note that we're testing the internal validateToken() used to implement
33// Note that we're testing the internal validateToken() used to implement
34−// several Provider's ValidateSessionState() implementations
34+// several Provider's ValidateSession() implementations
35−func (tp *ValidateSessionStateTestProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
35+func (tp *ValidateSessionTestProvider) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
36 return false
36 return false
37}
37}
38
38
39type ValidateSessionStateTest struct {
39type ValidateSessionStateTest struct {
40 backend *httptest.Server
40 backend *httptest.Server
41 responseCode int
41 responseCode int
42− provider *ValidateSessionStateTestProvider
42+ provider *ValidateSessionTestProvider
43 header http.Header
43 header http.Header
44}
44}
45
45
46−func NewValidateSessionStateTest() *ValidateSessionStateTest {
46+func NewValidateSessionTest() *ValidateSessionStateTest {
47 var vtTest ValidateSessionStateTest
47 var vtTest ValidateSessionStateTest
48
48
49 vtTest.backend = httptest.NewServer(
49 vtTest.backend = httptest.NewServer(
@@ -73,7 +73,7 @@ func NewValidateSessionStateTest() *ValidateSessionStateTest {
73
73
74 }))
74 }))
75 backendURL, _ := url.Parse(vtTest.backend.URL)
75 backendURL, _ := url.Parse(vtTest.backend.URL)
76− vtTest.provider = &ValidateSessionStateTestProvider{
76+ vtTest.provider = &ValidateSessionTestProvider{
77 ProviderData: &ProviderData{
77 ProviderData: &ProviderData{
78 ValidateURL: &url.URL{
78 ValidateURL: &url.URL{
79 Scheme: "http",
79 Scheme: "http",
@@ -90,14 +90,14 @@ func (vtTest *ValidateSessionStateTest) Close() {
90 vtTest.backend.Close()
90 vtTest.backend.Close()
91}
91}
92
92
93−func TestValidateSessionStateValidToken(t *testing.T) {
93+func TestValidateSessionValidToken(t *testing.T) {
94− vtTest := NewValidateSessionStateTest()
94+ vtTest := NewValidateSessionTest()
95 defer vtTest.Close()
95 defer vtTest.Close()
96 assert.Equal(t, true, validateToken(context.Background(), vtTest.provider, "foobar", nil))
96 assert.Equal(t, true, validateToken(context.Background(), vtTest.provider, "foobar", nil))
97}
97}
98
98
99−func TestValidateSessionStateValidTokenWithHeaders(t *testing.T) {
99+func TestValidateSessionValidTokenWithHeaders(t *testing.T) {
100− vtTest := NewValidateSessionStateTest()
100+ vtTest := NewValidateSessionTest()
101 defer vtTest.Close()
101 defer vtTest.Close()
102 vtTest.header = make(http.Header)
102 vtTest.header = make(http.Header)
103 vtTest.header.Set("Authorization", "Bearer foobar")
103 vtTest.header.Set("Authorization", "Bearer foobar")
@@ -105,28 +105,28 @@ func TestValidateSessionStateValidTokenWithHeaders(t *testing.T) {
105 validateToken(context.Background(), vtTest.provider, "foobar", vtTest.header))
105 validateToken(context.Background(), vtTest.provider, "foobar", vtTest.header))
106}
106}
107
107
108−func TestValidateSessionStateEmptyToken(t *testing.T) {
108+func TestValidateSessionEmptyToken(t *testing.T) {
109− vtTest := NewValidateSessionStateTest()
109+ vtTest := NewValidateSessionTest()
110 defer vtTest.Close()
110 defer vtTest.Close()
111 assert.Equal(t, false, validateToken(context.Background(), vtTest.provider, "", nil))
111 assert.Equal(t, false, validateToken(context.Background(), vtTest.provider, "", nil))
112}
112}
113
113
114−func TestValidateSessionStateEmptyValidateURL(t *testing.T) {
114+func TestValidateSessionEmptyValidateURL(t *testing.T) {
115− vtTest := NewValidateSessionStateTest()
115+ vtTest := NewValidateSessionTest()
116 defer vtTest.Close()
116 defer vtTest.Close()
117 vtTest.provider.Data().ValidateURL = nil
117 vtTest.provider.Data().ValidateURL = nil
118 assert.Equal(t, false, validateToken(context.Background(), vtTest.provider, "foobar", nil))
118 assert.Equal(t, false, validateToken(context.Background(), vtTest.provider, "foobar", nil))
119}
119}
120
120
121−func TestValidateSessionStateRequestNetworkFailure(t *testing.T) {
121+func TestValidateSessionRequestNetworkFailure(t *testing.T) {
122− vtTest := NewValidateSessionStateTest()
122+ vtTest := NewValidateSessionTest()
123 // Close immediately to simulate a network failure
123 // Close immediately to simulate a network failure
124 vtTest.Close()
124 vtTest.Close()
125 assert.Equal(t, false, validateToken(context.Background(), vtTest.provider, "foobar", nil))
125 assert.Equal(t, false, validateToken(context.Background(), vtTest.provider, "foobar", nil))
126}
126}
127
127
128−func TestValidateSessionStateExpiredToken(t *testing.T) {
128+func TestValidateSessionExpiredToken(t *testing.T) {
129− vtTest := NewValidateSessionStateTest()
129+ vtTest := NewValidateSessionTest()
130 defer vtTest.Close()
130 defer vtTest.Close()
131 vtTest.responseCode = 401
131 vtTest.responseCode = 401
132 assert.Equal(t, false, validateToken(context.Background(), vtTest.provider, "foobar", nil))
132 assert.Equal(t, false, validateToken(context.Background(), vtTest.provider, "foobar", nil))
providers/provider_default.go+3−3
@@ -86,12 +86,12 @@ func (p *ProviderData) GetLoginURL(redirectURI, state string) string {
86}
86}
87
87
88// GetEmailAddress returns the Account email address
88// GetEmailAddress returns the Account email address
89−// DEPRECATED: Migrate to EnrichSessionState
89+// DEPRECATED: Migrate to EnrichSession
90func (p *ProviderData) GetEmailAddress(_ context.Context, _ *sessions.SessionState) (string, error) {
90func (p *ProviderData) GetEmailAddress(_ context.Context, _ *sessions.SessionState) (string, error) {
91 return "", ErrNotImplemented
91 return "", ErrNotImplemented
92}
92}
93
93
94−// EnrichSessionState is called after Redeem to allow providers to enrich session fields
94+// EnrichSession is called after Redeem to allow providers to enrich session fields
95// such as User, Email, Groups with provider specific API calls.
95// such as User, Email, Groups with provider specific API calls.
96func (p *ProviderData) EnrichSession(_ context.Context, _ *sessions.SessionState) error {
96func (p *ProviderData) EnrichSession(_ context.Context, _ *sessions.SessionState) error {
97 return nil
97 return nil
@@ -113,7 +113,7 @@ func (p *ProviderData) Authorize(_ context.Context, s *sessions.SessionState) (b
113 return false, nil
113 return false, nil
114}
114}
115
115
116−// ValidateSessionState validates the AccessToken
116+// ValidateSession validates the AccessToken
117func (p *ProviderData) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
117func (p *ProviderData) ValidateSession(ctx context.Context, s *sessions.SessionState) bool {
118 return validateToken(ctx, p, s.AccessToken, nil)
118 return validateToken(ctx, p, s.AccessToken, nil)
119}
119}
providers/providers.go+1−1
@@ -9,7 +9,7 @@ import (
9// Provider represents an upstream identity provider implementation
9// Provider represents an upstream identity provider implementation
10type Provider interface {
10type Provider interface {
11 Data() *ProviderData
11 Data() *ProviderData
12− // DEPRECATED: Migrate to EnrichSessionState
12+ // DEPRECATED: Migrate to EnrichSession
13 GetEmailAddress(ctx context.Context, s *sessions.SessionState) (string, error)
13 GetEmailAddress(ctx context.Context, s *sessions.SessionState) (string, error)
14 Redeem(ctx context.Context, redirectURI, code string) (*sessions.SessionState, error)
14 Redeem(ctx context.Context, redirectURI, code string) (*sessions.SessionState, error)
15 EnrichSession(ctx context.Context, s *sessions.SessionState) error
15 EnrichSession(ctx context.Context, s *sessions.SessionState) error