summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2015-07-22 11:26:55 -0400
committerJoramWilander <jwawilander@gmail.com>2015-07-22 11:26:55 -0400
commita2bd8b8676701ee5ccf5d84a2f4fe6afb0dae4b1 (patch)
treebc57fb398cd6069893388c454f71e5e015d97fc8
parent7635e646a007123f989ba5c5747c4af1ebd27178 (diff)
downloadchat-a2bd8b8676701ee5ccf5d84a2f4fe6afb0dae4b1.tar.gz
chat-a2bd8b8676701ee5ccf5d84a2f4fe6afb0dae4b1.tar.bz2
chat-a2bd8b8676701ee5ccf5d84a2f4fe6afb0dae4b1.zip
add error for trying to sign up with the same oauth account twice
-rw-r--r--api/user.go2
-rw-r--r--web/web.go5
2 files changed, 6 insertions, 1 deletions
diff --git a/api/user.go b/api/user.go
index 5aba21e79..68a4e6d56 100644
--- a/api/user.go
+++ b/api/user.go
@@ -1277,7 +1277,7 @@ func AuthorizeOAuthUser(service, code, state, redirectUri string) (io.ReadCloser
var ar *model.AccessResponse
if resp, err := client.Do(req); err != nil {
- return nil, model.NewAppError("AuthorizeOAuthUser", "Token request to GitLab failed", err.Error())
+ return nil, model.NewAppError("AuthorizeOAuthUser", "Token request failed", err.Error())
} else {
ar = model.AccessResponseFromJson(resp.Body)
}
diff --git a/web/web.go b/web/web.go
index 15c978ff1..ef2bae624 100644
--- a/web/web.go
+++ b/web/web.go
@@ -499,6 +499,11 @@ func signupCompleteOAuth(c *api.Context, w http.ResponseWriter, r *http.Request)
return
}
+ if result := <-api.Srv.Store.User().GetByAuth(team.Id, user.AuthData, service); result.Err == nil {
+ c.Err = model.NewAppError("signupCompleteOAuth", "This "+service+" account has already been used to sign up for team "+team.DisplayName, "email="+user.Email)
+ return
+ }
+
if result := <-api.Srv.Store.User().GetByEmail(team.Id, user.Email); result.Err == nil {
c.Err = model.NewAppError("signupCompleteOAuth", "Team "+team.DisplayName+" already has a user with the email address attached to your "+service+" account", "email="+user.Email)
return