summaryrefslogtreecommitdiffstats
path: root/webapp/actions/user_actions.jsx
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2016-12-12 08:16:10 -0500
committerenahum <nahumhbl@gmail.com>2016-12-12 10:16:10 -0300
commit30a10d35a8406f4af96fcc8200c4e2173856837d (patch)
treea2cc82592b3c7f6b6901d64fb4a3003180b7b154 /webapp/actions/user_actions.jsx
parentf0d71d87899967335210b9130a7e2b8d180bef46 (diff)
downloadchat-30a10d35a8406f4af96fcc8200c4e2173856837d.tar.gz
chat-30a10d35a8406f4af96fcc8200c4e2173856837d.tar.bz2
chat-30a10d35a8406f4af96fcc8200c4e2173856837d.zip
PLT-4767 Implement MFA Enforcement (#4662)
* Create MFA setup page and remove MFA setup from account settings modal * Add enforce MFA to system console and force redirect * Lockdown mfa required API routes, add localization, other changes * Minor fixes * Fix typo * Fix some unit tests * Fix more unit tests * Minor fix * Updating UI for MFA screen (#4670) * Updating UI for MFA screen * Updating styles for MFA page * Add the ability to switch between email/sso with MFA enabled * Added mfa change email * Minor UI updates for MFA enforcement * Fix unit test * Fix client unit test * Allow switching email to ldap and back when MFA is enabled * Fix unit test * Revert config.json
Diffstat (limited to 'webapp/actions/user_actions.jsx')
-rw-r--r--webapp/actions/user_actions.jsx43
1 files changed, 42 insertions, 1 deletions
diff --git a/webapp/actions/user_actions.jsx b/webapp/actions/user_actions.jsx
index 6f19e9ace..812bc2716 100644
--- a/webapp/actions/user_actions.jsx
+++ b/webapp/actions/user_actions.jsx
@@ -16,10 +16,11 @@ import Client from 'client/web_client.jsx';
import {ActionTypes, Preferences} from 'utils/constants.jsx';
-export function switchFromLdapToEmail(email, password, ldapPassword, onSuccess, onError) {
+export function switchFromLdapToEmail(email, password, token, ldapPassword, onSuccess, onError) {
Client.ldapToEmail(
email,
password,
+ token,
ldapPassword,
(data) => {
if (data.follow_link) {
@@ -391,3 +392,43 @@ export function updateUserRoles(userId, newRoles, success, error) {
}
);
}
+
+export function activateMfa(code, success, error) {
+ Client.updateMfa(
+ code,
+ true,
+ () => {
+ AsyncClient.getMe();
+
+ if (success) {
+ success();
+ }
+ },
+ (err) => {
+ if (error) {
+ error(err);
+ }
+ }
+ );
+}
+
+export function checkMfa(loginId, success, error) {
+ if (global.window.mm_config.EnableMultifactorAuthentication !== 'true') {
+ success(false);
+ return;
+ }
+
+ Client.checkMfa(
+ loginId,
+ (data) => {
+ if (success) {
+ success(data.mfa_required === 'true');
+ }
+ },
+ (err) => {
+ if (error) {
+ error(err);
+ }
+ }
+ );
+}