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 /webapp/client/client.jsx | |
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 'webapp/client/client.jsx')
-rw-r--r-- | webapp/client/client.jsx | 51 |
1 files changed, 15 insertions, 36 deletions
diff --git a/webapp/client/client.jsx b/webapp/client/client.jsx index 6a7c5de40..69f573eff 100644 --- a/webapp/client/client.jsx +++ b/webapp/client/client.jsx @@ -746,49 +746,30 @@ export default class Client { end(this.handleResponse.bind(this, 'getMe', success, error)); } - login = (email, username, password, mfaToken, success, error) => { - var outer = this; // eslint-disable-line consistent-this + login = (loginId, password, mfaToken, success, error) => { + this.doLogin({login_id: loginId, password, token: mfaToken}, success, error); - request. - post(`${this.getUsersRoute()}/login`). - set(this.defaultHeaders). - type('application/json'). - accept('application/json'). - send({email, password, username, token: mfaToken}). - end(this.handleResponse.bind( - this, - 'login', - (data, res) => { - if (res && res.header) { - outer.token = res.header[HEADER_TOKEN]; - - if (outer.useToken) { - outer.defaultHeaders[HEADER_AUTH] = `${HEADER_BEARER} ${outer.token}`; - } - } + this.track('api', 'api_users_login', '', 'login_id', loginId); + } - if (success) { - success(data, res); - } - }, - error - )); + loginById = (id, password, mfaToken, success, error) => { + this.doLogin({id, password, token: mfaToken}, success, error); - this.track('api', 'api_users_login', '', 'email', email); + this.track('api', 'api_users_login', '', 'id', id); } - loginByLdap = (ldapId, password, mfaToken, success, error) => { + doLogin = (outgoingData, success, error) => { var outer = this; // eslint-disable-line consistent-this request. - post(`${this.getUsersRoute()}/login_ldap`). + post(`${this.getUsersRoute()}/login`). set(this.defaultHeaders). type('application/json'). accept('application/json'). - send({id: ldapId, password, token: mfaToken}). + send(outgoingData). end(this.handleResponse.bind( this, - 'loginByLdap', + 'login', (data, res) => { if (res && res.header) { outer.token = res.header[HEADER_TOKEN]; @@ -804,8 +785,6 @@ export default class Client { }, error )); - - this.track('api', 'api_users_loginLdap', '', 'email', ldapId); } logout = (success, error) => { @@ -819,10 +798,10 @@ export default class Client { this.track('api', 'api_users_logout'); } - checkMfa = (method, loginId, success, error) => { - var data = {}; - data.method = method; - data.login_id = loginId; + checkMfa = (loginId, success, error) => { + const data = { + login_id: loginId + }; request. post(`${this.getUsersRoute()}/mfa`). |