diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2016-05-03 14:10:36 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-05-03 14:10:36 -0400 |
commit | 87989b8afd4666a72940389db716b6500d0a9ec3 (patch) | |
tree | d4b0270eb4a9adbff0dd1b6f527ddcccbc9a83d9 /model/client.go | |
parent | e76a30bca0690bad53a4cabd6c7c629e89c17268 (diff) | |
download | chat-87989b8afd4666a72940389db716b6500d0a9ec3.tar.gz chat-87989b8afd4666a72940389db716b6500d0a9ec3.tar.bz2 chat-87989b8afd4666a72940389db716b6500d0a9ec3.zip |
PLT-2258 Unified login screen and related APIs (#2820)
* Unified login screen and related APIs
* Refactored login API call to be less convoluted
* Removed LDAP login prompt from invite process
* Fixed existing LDAP users being able to log in if LDAP was configured, but disabled
* Gofmt
* Future proofed login API
* Updated login APIs based on feedback
* Added additional auditing to login API
* Actually removed loginById
Diffstat (limited to 'model/client.go')
-rw-r--r-- | model/client.go | 41 |
1 files changed, 5 insertions, 36 deletions
diff --git a/model/client.go b/model/client.go index e9f22e452..7eab008f1 100644 --- a/model/client.go +++ b/model/client.go @@ -355,51 +355,21 @@ func (c *Client) LoginById(id string, password string) (*Result, *AppError) { return c.login(m) } -func (c *Client) LoginByEmail(name string, email string, password string) (*Result, *AppError) { +func (c *Client) Login(loginId string, password string) (*Result, *AppError) { m := make(map[string]string) - m["name"] = name - m["email"] = email - m["password"] = password - return c.login(m) -} - -func (c *Client) LoginByUsername(name string, username string, password string) (*Result, *AppError) { - m := make(map[string]string) - m["name"] = name - m["username"] = username + m["login_id"] = loginId m["password"] = password return c.login(m) } -func (c *Client) LoginByEmailWithDevice(name string, email string, password string, deviceId string) (*Result, *AppError) { +func (c *Client) LoginWithDevice(loginId string, password string, deviceId string) (*Result, *AppError) { m := make(map[string]string) - m["name"] = name - m["email"] = email + m["login_id"] = loginId m["password"] = password m["device_id"] = deviceId return c.login(m) } -func (c *Client) LoginByLdap(userid string, password string, mfatoken string) (*Result, *AppError) { - m := make(map[string]string) - m["id"] = userid - m["password"] = password - m["token"] = mfatoken - if r, err := c.DoApiPost("/users/login_ldap", MapToJson(m)); err != nil { - return nil, err - } else { - c.AuthToken = r.Header.Get(HEADER_TOKEN) - c.AuthType = HEADER_BEARER - sessionToken := getCookie(SESSION_COOKIE_TOKEN, r) - - if c.AuthToken != sessionToken.Value { - NewLocAppError("/users/login_ldap", "model.client.login.app_error", nil, "") - } - return &Result{r.Header.Get(HEADER_REQUEST_ID), - r.Header.Get(HEADER_ETAG_SERVER), MapFromJson(r.Body)}, nil - } -} - func (c *Client) login(m map[string]string) (*Result, *AppError) { if r, err := c.DoApiPost("/users/login", MapToJson(m)); err != nil { return nil, err @@ -430,9 +400,8 @@ func (c *Client) Logout() (*Result, *AppError) { } } -func (c *Client) CheckMfa(method, loginId string) (*Result, *AppError) { +func (c *Client) CheckMfa(loginId string) (*Result, *AppError) { m := make(map[string]string) - m["method"] = method m["login_id"] = loginId if r, err := c.DoApiPost("/users/mfa", MapToJson(m)); err != nil { |