diff options
author | Joram Wilander <jwawilander@gmail.com> | 2016-12-12 08:16:10 -0500 |
---|---|---|
committer | enahum <nahumhbl@gmail.com> | 2016-12-12 10:16:10 -0300 |
commit | 30a10d35a8406f4af96fcc8200c4e2173856837d (patch) | |
tree | a2cc82592b3c7f6b6901d64fb4a3003180b7b154 /webapp/actions/user_actions.jsx | |
parent | f0d71d87899967335210b9130a7e2b8d180bef46 (diff) | |
download | chat-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.jsx | 43 |
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); + } + } + ); +} |