Files
mostlymatter/webapp/components/mfa/mfa_controller.jsx
Joram Wilander 30a10d35a8 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
2016-12-12 10:16:10 -03:00

67 строки
2.2 KiB
JavaScript

// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
import React from 'react';
import {FormattedMessage} from 'react-intl';
import {browserHistory, Link} from 'react-router/es6';
import logoImage from 'images/logo.png';
export default class MFAController extends React.Component {
componentDidMount() {
if (window.mm_license.MFA !== 'true' || window.mm_config.EnableMultifactorAuthentication !== 'true') {
browserHistory.push('/');
}
}
render() {
let backButton;
if (window.mm_config.EnforceMultifactorAuthentication !== 'true') {
backButton = (
<div className='signup-header'>
<Link to='/'>
<span className='fa fa-chevron-left'/>
<FormattedMessage
id='web.header.back'
/>
</Link>
</div>
);
}
return (
<div className='inner-wrap sticky'>
<div className='content'>
<div>
{backButton}
<div className='col-sm-12'>
<div className='signup-team__container'>
<h3>
<FormattedMessage
id='mfa.setupTitle'
defaultMessage='Multi-factor Authentication Setup'
/>
</h3>
<img
className='signup-team-logo'
src={logoImage}
/>
<div id='mfa'>
{React.cloneElement(this.props.children, {})}
</div>
</div>
</div>
</div>
</div>
</div>
);
}
}
MFAController.defaultProps = {
};
MFAController.propTypes = {
location: React.PropTypes.object.isRequired,
children: React.PropTypes.node
};