@@ -296,34 +296,31 @@ func (p *OAuthProxy) GetRedirectURI(host string) string {
296 return u.String()
296 return u.String()
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")
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
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)
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
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
326− return
323+ return s, nil
329// MakeCSRFCookie creates a cookie for CSRF
326// MakeCSRFCookie creates a cookie for CSRF