git.iko.soy/typeable/oauth2-proxy
on master help sign in
Don't infer username from email local part if username not set
commit15f48fb95e48d740d62c40eda706681cde582889 authorPhil Taprogge <philt@pusher.com> dateTue 7 May 2019, 10:36 (7 years ago) parent3f2d21d
3 files changed+9−10
oauthproxy_test.go+4−5 providers/session_state.go+1−1 providers/session_state_test.go+4−4
oauthproxy_test.go+4−5
@@ -291,8 +291,7 @@ func TestBasicAuthPassword(t *testing.T) {
291291 opts.Validate()
292292
293293 providerURL, _ := url.Parse(providerServer.URL)
294− const emailAddress = "michael.bland@gsa.gov"
295− const username = "michael.bland"
294+ const emailAddress = "john.doe@example.com"
296295
297296 opts.provider = NewTestProvider(providerURL, emailAddress)
298297 proxy := NewOAuthProxy(opts, func(email string) bool {
@@ -335,7 +334,7 @@ func TestBasicAuthPassword(t *testing.T) {
335334 rw = httptest.NewRecorder()
336335 proxy.ServeHTTP(rw, req)
337336
338− expectedHeader := "Basic " + base64.StdEncoding.EncodeToString([]byte(username+":"+opts.BasicAuthPassword))
337+ expectedHeader := "Basic " + base64.StdEncoding.EncodeToString([]byte(emailAddress+":"+opts.BasicAuthPassword))
339338 assert.Equal(t, expectedHeader, rw.Body.String())
340339 providerServer.Close()
341340}
@@ -654,13 +653,13 @@ func (p *ProcessCookieTest) LoadCookiedSession() (*providers.SessionState, time.
654653func TestLoadCookiedSession(t *testing.T) {
655654 pcTest := NewProcessCookieTestWithDefaults()
656655
657− startSession := &providers.SessionState{Email: "michael.bland@gsa.gov", AccessToken: "my_access_token"}
656+ startSession := &providers.SessionState{Email: "john.doe@example.com", AccessToken: "my_access_token"}
658657 pcTest.SaveSession(startSession, time.Now())
659658
660659 session, _, err := pcTest.LoadCookiedSession()
661660 assert.Equal(t, nil, err)
662661 assert.Equal(t, startSession.Email, session.Email)
663− assert.Equal(t, "michael.bland", session.User)
662+ assert.Equal(t, "john.doe@example.com", session.User)
664663 assert.Equal(t, startSession.AccessToken, session.AccessToken)
665664}
666665
providers/session_state.go+1−1
@@ -218,7 +218,7 @@ func DecodeSessionState(v string, c *cookie.Cipher) (*SessionState, error) {
218218 }
219219 }
220220 if ss.User == "" {
221− ss.User = strings.Split(ss.Email, "@")[0]
221+ ss.User = ss.Email
222222 }
223223 return ss, nil
224224}
providers/session_state_test.go+4−4
@@ -30,7 +30,7 @@ func TestSessionStateSerialization(t *testing.T) {
3030 ss, err := DecodeSessionState(encoded, c)
3131 t.Logf("%#v", ss)
3232 assert.Equal(t, nil, err)
33− assert.Equal(t, "user", ss.User)
33+ assert.Equal(t, "user@domain.com", ss.User)
3434 assert.Equal(t, s.Email, ss.Email)
3535 assert.Equal(t, s.AccessToken, ss.AccessToken)
3636 assert.Equal(t, s.IDToken, ss.IDToken)
@@ -41,7 +41,7 @@ func TestSessionStateSerialization(t *testing.T) {
4141 ss, err = DecodeSessionState(encoded, c2)
4242 t.Logf("%#v", ss)
4343 assert.Equal(t, nil, err)
44− assert.NotEqual(t, "user", ss.User)
44+ assert.NotEqual(t, "user@domain.com", ss.User)
4545 assert.NotEqual(t, s.Email, ss.Email)
4646 assert.Equal(t, s.ExpiresOn.Unix(), ss.ExpiresOn.Unix())
4747 assert.NotEqual(t, s.AccessToken, ss.AccessToken)
@@ -97,7 +97,7 @@ func TestSessionStateSerializationNoCipher(t *testing.T) {
9797 // only email should have been serialized
9898 ss, err := DecodeSessionState(encoded, nil)
9999 assert.Equal(t, nil, err)
100− assert.Equal(t, "user", ss.User)
100+ assert.Equal(t, "user@domain.com", ss.User)
101101 assert.Equal(t, s.Email, ss.Email)
102102 assert.Equal(t, "", ss.AccessToken)
103103 assert.Equal(t, "", ss.RefreshToken)
@@ -203,7 +203,7 @@ func TestDecodeSessionState(t *testing.T) {
203203 {
204204 SessionState: SessionState{
205205 Email: "user@domain.com",
206− User: "user",
206+ User: "user@domain.com",
207207 },
208208 Encoded: `{"Email":"user@domain.com"}`,
209209 },