summaryrefslogtreecommitdiffstats
path: root/webapp/components/mfa/mfa_controller.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/mfa/mfa_controller.jsx')
-rw-r--r--webapp/components/mfa/mfa_controller.jsx66
1 files changed, 66 insertions, 0 deletions
diff --git a/webapp/components/mfa/mfa_controller.jsx b/webapp/components/mfa/mfa_controller.jsx
new file mode 100644
index 000000000..21b9737f8
--- /dev/null
+++ b/webapp/components/mfa/mfa_controller.jsx
@@ -0,0 +1,66 @@
+// 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
+};