git.iko.soy/typeable/oauth2-proxy
on master help sign in
Cleaned up source to make golangci-lint pass (#418)

* cleaned up source to make golangci-lint pass * providers/azure_test.go: use build in POST constant * options_test.go: do not export unnecessary variables Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>

commitfad6fff16d2fcb19708af8e95cc7c12c408ee067 authorWolfgang Richter <wolfgang.richter@gmail.com> dateSat 14 Mar 2020, 05:58 (7 years ago) parentb1c81e2
6 files changed+37−33
options_test.go+13−9 providers/azure.go−1 providers/azure_test.go+2−2 providers/oidc.go+3−4 providers/oidc_test.go+17−16 providers/provider_data.go+2−1
options_test.go+13−9
@@ -13,12 +13,16 @@ import (
1313 "github.com/stretchr/testify/assert"
1414)
1515
16+const cookieSecret = "foobar"
17+const clientID = "bazquux"
18+const clientSecret = "xyzzyplugh"
19+
1620func testOptions() *Options {
1721 o := NewOptions()
1822 o.Upstreams = append(o.Upstreams, "http://127.0.0.1:8080/")
19− o.CookieSecret = "foobar"
20− o.ClientID = "bazquux"
21− o.ClientSecret = "xyzzyplugh"
23+ o.CookieSecret = cookieSecret
24+ o.ClientID = clientID
25+ o.ClientSecret = clientSecret
2226 o.EmailDomains = []string{"*"}
2327 return o
2428}
@@ -45,15 +49,15 @@ func TestNewOptions(t *testing.T) {
4549
4650func TestClientSecretFileOptionFails(t *testing.T) {
4751 o := NewOptions()
48− o.CookieSecret = "foobar"
49− o.ClientID = "bazquux"
50− o.ClientSecretFile = "xyzzyplugh"
52+ o.CookieSecret = cookieSecret
53+ o.ClientID = clientID
54+ o.ClientSecretFile = clientSecret
5155 o.EmailDomains = []string{"*"}
5256 err := o.Validate()
5357 assert.NotEqual(t, nil, err)
5458
5559 p := o.provider.Data()
56− assert.Equal(t, "xyzzyplugh", p.ClientSecretFile)
60+ assert.Equal(t, clientSecret, p.ClientSecretFile)
5761 assert.Equal(t, "", p.ClientSecret)
5862
5963 s, err := p.GetClientSecret()
@@ -75,8 +79,8 @@ func TestClientSecretFileOption(t *testing.T) {
7579 defer os.Remove(clientSecretFileName)
7680
7781 o := NewOptions()
78− o.CookieSecret = "foobar"
79− o.ClientID = "bazquux"
82+ o.CookieSecret = cookieSecret
83+ o.ClientID = clientID
8084 o.ClientSecretFile = clientSecretFileName
8185 o.EmailDomains = []string{"*"}
8286 err = o.Validate()
providers/azure.go−1
@@ -79,7 +79,6 @@ func (p *AzureProvider) Redeem(redirectURL, code string) (s *sessions.SessionSta
7979 return
8080 }
8181
82−
8382 params := url.Values{}
8483 params.Add("redirect_uri", redirectURL)
8584 params.Add("client_id", p.ClientID)
providers/azure_test.go+2−2
@@ -112,9 +112,9 @@ func testAzureBackend(payload string) *httptest.Server {
112112
113113 return httptest.NewServer(http.HandlerFunc(
114114 func(w http.ResponseWriter, r *http.Request) {
115− if (r.URL.Path != path || r.URL.RawQuery != query) && r.Method != "POST" {
115+ if (r.URL.Path != path || r.URL.RawQuery != query) && r.Method != http.MethodPost {
116116 w.WriteHeader(404)
117− } else if r.Method == "POST" && r.Body != nil {
117+ } else if r.Method == http.MethodPost && r.Body != nil {
118118 w.WriteHeader(200)
119119 w.Write([]byte(payload))
120120 } else if !IsAuthorizedInHeader(r.Header) {
providers/oidc.go+3−4
@@ -140,11 +140,10 @@ func (p *OIDCProvider) findVerifiedIDToken(ctx context.Context, token *oauth2.To
140140 }
141141
142142 if rawIDToken, present := getIDToken(); present {
143− verifiedIdToken, err := p.Verifier.Verify(ctx, rawIDToken)
144− return verifiedIdToken, err
145− } else {
146− return nil, nil
143+ verifiedIDToken, err := p.Verifier.Verify(ctx, rawIDToken)
144+ return verifiedIDToken, err
147145 }
146+ return nil, nil
148147}
149148
150149func (p *OIDCProvider) createSessionState(token *oauth2.Token, idToken *oidc.IDToken) (*sessions.SessionState, error) {
providers/oidc_test.go+17−16
@@ -8,6 +8,7 @@ import (
88 "encoding/json"
99 "errors"
1010 "fmt"
11+
1112 "golang.org/x/oauth2"
1213
1314 "github.com/bmizerany/assert"
@@ -58,7 +59,7 @@ var defaultIDToken idTokenClaims = idTokenClaims{
5859 },
5960}
6061
61−type fakeKeySetStub struct {}
62+type fakeKeySetStub struct{}
6263
6364func (fakeKeySetStub) VerifySignature(_ context.Context, jwt string) (payload []byte, err error) {
6465 decodeString, err := base64.RawURLEncoding.DecodeString(strings.Split(jwt, ".")[1])
@@ -98,7 +99,7 @@ func newOIDCProvider(serverURL *url.URL) *OIDCProvider {
9899
99100 p := &OIDCProvider{
100101 ProviderData: providerData,
101− Verifier: oidc.NewVerifier(
102+ Verifier: oidc.NewVerifier(
102103 "https://issuer.example.com",
103104 fakeKeySetStub{},
104105 &oidc.Config{ClientID: clientID},
@@ -235,30 +236,30 @@ func TestOIDCProvider_findVerifiedIdToken(t *testing.T) {
235236 defer server.Close()
236237
237238 token := newOauth2Token()
238− signedIdToken, _ := newSignedTestIDToken(defaultIDToken)
239− tokenWithIdToken := token.WithExtra(map[string]interface{}{
240− "id_token": signedIdToken,
239+ signedIDToken, _ := newSignedTestIDToken(defaultIDToken)
240+ tokenWithIDToken := token.WithExtra(map[string]interface{}{
241+ "id_token": signedIDToken,
241242 })
242243
243− verifiedIdToken, err := provider.findVerifiedIDToken(context.Background(), tokenWithIdToken)
244+ verifiedIDToken, err := provider.findVerifiedIDToken(context.Background(), tokenWithIDToken)
244245 assert.Equal(t, true, err == nil)
245− assert.Equal(t, true, verifiedIdToken != nil)
246− assert.Equal(t, defaultIDToken.Issuer, verifiedIdToken.Issuer)
247− assert.Equal(t, defaultIDToken.Subject, verifiedIdToken.Subject)
246+ assert.Equal(t, true, verifiedIDToken != nil)
247+ assert.Equal(t, defaultIDToken.Issuer, verifiedIDToken.Issuer)
248+ assert.Equal(t, defaultIDToken.Subject, verifiedIDToken.Subject)
248249
249250 // When the validation fails the response should be nil
250251 defaultIDToken.Id = "this-id-fails-validation"
251− signedIdToken, _ = newSignedTestIDToken(defaultIDToken)
252− tokenWithIdToken = token.WithExtra(map[string]interface{}{
253− "id_token": signedIdToken,
252+ signedIDToken, _ = newSignedTestIDToken(defaultIDToken)
253+ tokenWithIDToken = token.WithExtra(map[string]interface{}{
254+ "id_token": signedIDToken,
254255 })
255256
256− verifiedIdToken, err = provider.findVerifiedIDToken(context.Background(), tokenWithIdToken)
257+ verifiedIDToken, err = provider.findVerifiedIDToken(context.Background(), tokenWithIDToken)
257258 assert.Equal(t, errors.New("failed to verify signature: the validation failed for subject [123456789]"), err)
258− assert.Equal(t, true, verifiedIdToken == nil)
259+ assert.Equal(t, true, verifiedIDToken == nil)
259260
260261 // When there is no id token in the oauth token
261− verifiedIdToken, err = provider.findVerifiedIDToken(context.Background(), newOauth2Token())
262+ verifiedIDToken, err = provider.findVerifiedIDToken(context.Background(), newOauth2Token())
262263 assert.Equal(t, nil, err)
263− assert.Equal(t, true, verifiedIdToken == nil)
264+ assert.Equal(t, true, verifiedIDToken == nil)
264265}
providers/provider_data.go+2−1
@@ -2,9 +2,10 @@ package providers
22
33import (
44 "errors"
5− "github.com/pusher/oauth2_proxy/pkg/logger"
65 "io/ioutil"
76 "net/url"
7+
8+ "github.com/pusher/oauth2_proxy/pkg/logger"
89)
910
1011// ProviderData contains information required to configure all implementations