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
Этот коммит содержится в:
Harrison Healey
2016-05-03 14:10:36 -04:00
коммит произвёл Christopher Speller
родитель e76a30bca0
Коммит 87989b8afd
36 изменённых файлов: 630 добавлений и 1049 удалений

Просмотреть файл

@@ -746,7 +746,19 @@ export default class Client {
end(this.handleResponse.bind(this, 'getMe', success, error));
}
login = (email, username, password, mfaToken, success, error) => {
login = (loginId, password, mfaToken, success, error) => {
this.doLogin({login_id: loginId, password, token: mfaToken}, success, error);
this.track('api', 'api_users_login', '', 'login_id', loginId);
}
loginById = (id, password, mfaToken, success, error) => {
this.doLogin({id, password, token: mfaToken}, success, error);
this.track('api', 'api_users_login', '', 'id', id);
}
doLogin = (outgoingData, success, error) => {
var outer = this; // eslint-disable-line consistent-this
request.
@@ -754,7 +766,7 @@ export default class Client {
set(this.defaultHeaders).
type('application/json').
accept('application/json').
send({email, password, username, token: mfaToken}).
send(outgoingData).
end(this.handleResponse.bind(
this,
'login',
@@ -773,39 +785,6 @@ export default class Client {
},
error
));
this.track('api', 'api_users_login', '', 'email', email);
}
loginByLdap = (ldapId, password, mfaToken, success, error) => {
var outer = this; // eslint-disable-line consistent-this
request.
post(`${this.getUsersRoute()}/login_ldap`).
set(this.defaultHeaders).
type('application/json').
accept('application/json').
send({id: ldapId, password, token: mfaToken}).
end(this.handleResponse.bind(
this,
'loginByLdap',
(data, res) => {
if (res && res.header) {
outer.token = res.header[HEADER_TOKEN];
if (outer.useToken) {
outer.defaultHeaders[HEADER_AUTH] = `${HEADER_BEARER} ${outer.token}`;
}
}
if (success) {
success(data, res);
}
},
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`).