summaryrefslogtreecommitdiffstats
path: root/webapp/client/client.jsx
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2016-05-03 14:10:36 -0400
committerChristopher Speller <crspeller@gmail.com>2016-05-03 14:10:36 -0400
commit87989b8afd4666a72940389db716b6500d0a9ec3 (patch)
treed4b0270eb4a9adbff0dd1b6f527ddcccbc9a83d9 /webapp/client/client.jsx
parente76a30bca0690bad53a4cabd6c7c629e89c17268 (diff)
downloadchat-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.jsx51
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`).