summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
author=Corey Hulen <corey@hulen.com>2015-10-22 09:36:46 -0700
committer=Corey Hulen <corey@hulen.com>2015-10-22 09:36:46 -0700
commitcbbee5cadb1c0096bfff9ce1cc80d4be7adb5717 (patch)
tree5351ab86762497dc20752471c088932511079ecf /api
parent54894e90ac705eab3bf0f34c8dd197bb0929feae (diff)
downloadchat-cbbee5cadb1c0096bfff9ce1cc80d4be7adb5717.tar.gz
chat-cbbee5cadb1c0096bfff9ce1cc80d4be7adb5717.tar.bz2
chat-cbbee5cadb1c0096bfff9ce1cc80d4be7adb5717.zip
Addressing issues from group code review
Diffstat (limited to 'api')
-rw-r--r--api/user.go29
1 files changed, 9 insertions, 20 deletions
diff --git a/api/user.go b/api/user.go
index a5bc59a8d..406cbe291 100644
--- a/api/user.go
+++ b/api/user.go
@@ -429,26 +429,15 @@ func Login(c *Context, w http.ResponseWriter, r *http.Request, user *model.User,
w.Header().Set(model.HEADER_TOKEN, session.Token)
- multiToken := ""
- if originalMultiSessionCookie, err := r.Cookie(model.SESSION_COOKIE_TOKEN); err == nil {
- multiToken = originalMultiSessionCookie.Value
- }
-
- // Attempt to clean all the old tokens or duplicate tokens
- if len(multiToken) > 0 {
- tokens := strings.Split(multiToken, " ")
-
- multiToken = ""
- seen := make(map[string]string)
- seen[session.TeamId] = session.TeamId
- for _, token := range tokens {
- if sr := <-Srv.Store.Session().Get(token); sr.Err == nil {
- s := sr.Data.(*model.Session)
- if !s.IsExpired() && seen[s.TeamId] == "" {
- multiToken += " " + token
- seen[s.TeamId] = s.TeamId
- }
- }
+ tokens := GetMultiSessionCookie(r)
+ multiToken = ""
+ seen := make(map[string]string)
+ seen[session.TeamId] = session.TeamId
+ for _, token := range tokens {
+ s := GetSession(token)
+ if s != nil && !s.IsExpired() && seen[s.TeamId] == "" {
+ multiToken += " " + token
+ seen[s.TeamId] = s.TeamId
}
}