git.iko.soy/typeable/oauth2-proxy
on master help sign in
Merge pull request #791 from grnhse/remove-provider-preferred-username-getter
e9aa7acJoel Speed
CHANGELOG.md+1
@@ -17,6 +17,7 @@
17
17
18- [#575](https://github.com/oauth2-proxy/oauth2-proxy/pull/575) Stop accepting legacy SHA1 signed cookies (@NickMeves)
18- [#575](https://github.com/oauth2-proxy/oauth2-proxy/pull/575) Stop accepting legacy SHA1 signed cookies (@NickMeves)
19- [#722](https://github.com/oauth2-proxy/oauth2-proxy/pull/722) Validate Redis configuration options at startup (@NickMeves)
19- [#722](https://github.com/oauth2-proxy/oauth2-proxy/pull/722) Validate Redis configuration options at startup (@NickMeves)
20+- [#791](https://github.com/oauth2-proxy/oauth2-proxy/pull/791) Remove GetPreferredUsername method from provider interface (@NickMeves)
20- [#764](https://github.com/oauth2-proxy/oauth2-proxy/pull/764) Document bcrypt encryption for htpasswd (and hide SHA) (@lentzi90)
21- [#764](https://github.com/oauth2-proxy/oauth2-proxy/pull/764) Document bcrypt encryption for htpasswd (and hide SHA) (@lentzi90)
21- [#616](https://github.com/oauth2-proxy/oauth2-proxy/pull/616) Add support to ensure user belongs in required groups when using the OIDC provider (@stefansedich)
22- [#616](https://github.com/oauth2-proxy/oauth2-proxy/pull/616) Add support to ensure user belongs in required groups when using the OIDC provider (@stefansedich)
22
23
oauthproxy.go+9−12
@@ -296,34 +296,31 @@ func (p *OAuthProxy) GetRedirectURI(host string) string {
296 return u.String()
296 return u.String()
297}
297}
298
298
299−func (p *OAuthProxy) redeemCode(ctx context.Context, host, code string) (s *sessionsapi.SessionState, err error) {
299+func (p *OAuthProxy) redeemCode(ctx context.Context, host, code string) (*sessionsapi.SessionState, error) {
300 if code == "" {
300 if code == "" {
301 return nil, errors.New("missing code")
301 return nil, errors.New("missing code")
302 }
302 }
303 redirectURI := p.GetRedirectURI(host)
303 redirectURI := p.GetRedirectURI(host)
304− s, err = p.provider.Redeem(ctx, redirectURI, code)
304+ s, err := p.provider.Redeem(ctx, redirectURI, code)
305 if err != nil {
305 if err != nil {
306− return
306+ return nil, err
307 }
307 }
308
308
309 if s.Email == "" {
309 if s.Email == "" {
310 s.Email, err = p.provider.GetEmailAddress(ctx, s)
310 s.Email, err = p.provider.GetEmailAddress(ctx, s)
311− }
312−
313− if s.PreferredUsername == "" {
314− s.PreferredUsername, err = p.provider.GetPreferredUsername(ctx, s)
315− if err != nil && err.Error() == "not implemented" {
311+ if err != nil && err.Error() != "not implemented" {
316− err = nil
312+ return nil, err
317 }
313 }
318 }
314 }
319
315
320 if s.User == "" {
316 if s.User == "" {
321 s.User, err = p.provider.GetUserName(ctx, s)
317 s.User, err = p.provider.GetUserName(ctx, s)
322− if err != nil && err.Error() == "not implemented" {
318+ if err != nil && err.Error() != "not implemented" {
323− err = nil
319+ return nil, err
324 }
320 }
325 }
321 }
322+
326− return
323+ return s, nil
327}
324}
328
325
329// MakeCSRFCookie creates a cookie for CSRF
326// MakeCSRFCookie creates a cookie for CSRF
providers/provider_default.go−5
@@ -104,11 +104,6 @@ func (p *ProviderData) GetUserName(ctx context.Context, s *sessions.SessionState
104 return "", errors.New("not implemented")
104 return "", errors.New("not implemented")
105}
105}
106
106
107−// GetPreferredUsername returns the Account preferred username
108−func (p *ProviderData) GetPreferredUsername(ctx context.Context, s *sessions.SessionState) (string, error) {
109− return "", errors.New("not implemented")
110−}
111−
112// ValidateGroup validates that the provided email exists in the configured provider
107// ValidateGroup validates that the provided email exists in the configured provider
113// email group(s).
108// email group(s).
114func (p *ProviderData) ValidateGroup(email string) bool {
109func (p *ProviderData) ValidateGroup(email string) bool {
providers/providers.go−1
@@ -12,7 +12,6 @@ type Provider interface {
12 Data() *ProviderData
12 Data() *ProviderData
13 GetEmailAddress(ctx context.Context, s *sessions.SessionState) (string, error)
13 GetEmailAddress(ctx context.Context, s *sessions.SessionState) (string, error)
14 GetUserName(ctx context.Context, s *sessions.SessionState) (string, error)
14 GetUserName(ctx context.Context, s *sessions.SessionState) (string, error)
15− GetPreferredUsername(ctx context.Context, s *sessions.SessionState) (string, error)
16 Redeem(ctx context.Context, redirectURI, code string) (*sessions.SessionState, error)
15 Redeem(ctx context.Context, redirectURI, code string) (*sessions.SessionState, error)
17 ValidateGroup(string) bool
16 ValidateGroup(string) bool
18 ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool
17 ValidateSessionState(ctx context.Context, s *sessions.SessionState) bool