diff --git a/app/oauth.go b/app/oauth.go index bfdce99819..c093544226 100644 --- a/app/oauth.go +++ b/app/oauth.go @@ -547,17 +547,17 @@ func (a *App) LoginByOAuth(service string, userData io.Reader, teamId string) (* user, err := a.GetUserByAuth(&authData, service) if err != nil { if err.Id == store.MISSING_AUTH_ACCOUNT_ERROR { - return a.CreateOAuthUser(service, bytes.NewReader(buf.Bytes()), teamId) + user, err = a.CreateOAuthUser(service, bytes.NewReader(buf.Bytes()), teamId) + } else { + return nil, err + } + } else { + if err = a.UpdateOAuthUserAttrs(bytes.NewReader(buf.Bytes()), user, provider, service); err != nil { + return nil, err + } + if len(teamId) > 0 { + err = a.AddUserToTeamByTeamId(teamId, user) } - return nil, err - } - - if err = a.UpdateOAuthUserAttrs(bytes.NewReader(buf.Bytes()), user, provider, service); err != nil { - return nil, err - } - - if len(teamId) > 0 { - err = a.AddUserToTeamByTeamId(teamId, user) } if err != nil {