"use strict";(self.webpackChunkmattermost_webapp=self.webpackChunkmattermost_webapp||[]).push([[2028],{83975:(e,t,r)=>{r.d(t,{QI:()=>s,lg:()=>i,sk:()=>o});var a=r(31435),n=r(23894);function s(e){return(t,r)=>{const s=(0,n.rc)(r());return t(a.zP(s,!0,e))}}function o(){return(e,t)=>{const r=(0,n.rc)(t());return e(a.zP(r,!1))}}function i(){return(e,t)=>{const r=(0,n.rc)(t());return e(a.lg(r))}}},26452:(e,t,r)=>{r.d(t,{Z:()=>d});var a=r(23615),n=r.n(a),s=r(60042),o=r.n(s),i=r(84390),c=r.n(i),l=r(72060),u=r(9448);const m=e=>{let{url:t,className:r,onClick:a}=e;const{formatMessage:n}=(0,l.useIntl)();return c().createElement("div",{className:o()("signup-header",r)},c().createElement(u.Link,{"data-testid":"back_button",onClick:a,to:t},c().createElement("span",{id:"back_button_icon",className:"fa fa-1x fa-angle-left",title:n({id:"generic_icons.back",defaultMessage:"Back Icon"})}),c().createElement(l.FormattedMessage,{id:"web.header.back",defaultMessage:"Back"})))};m.propTypes={url:n().string,className:n().string,onClick:n().func},m.defaultProps={url:"/"};const d=m},72028:(e,t,r)=>{r.r(t),r.d(t,{default:()=>T});var a=r(70314),n=r(19601),s=r(23615),o=r.n(s),i=(r(52077),r(1203),r(48410),r(92189),r(84390)),c=r.n(i),l=r(72060),u=r(9448),m=r(68679),d=r(26452),p=r(77477),f=r(70012),h=r(23712),g=r(35887);const E=h.default.KeyCodes,b=e=>{e.preventDefault(),(0,m.mc)()},v=e=>{(0,g.p)(e,E.ENTER)&&b(e)};function y(){return(0,i.useEffect)((()=>(document.body.addEventListener("keydown",v),()=>{document.body.removeEventListener("keydown",v)})),[]),c().createElement("div",null,c().createElement("form",{onSubmit:b,onKeyPress:v,className:"form-group"},c().createElement("p",null,c().createElement(l.FormattedMessage,{id:"mfa.confirm.complete",defaultMessage:"**Set up complete!**"})),c().createElement("p",null,c().createElement(l.FormattedMessage,{id:"mfa.confirm.secure",defaultMessage:"Your account is now secure. Next time you sign in, you will be asked to enter a code from the Google Authenticator app on your phone."})),c().createElement("button",{type:"submit",className:"btn btn-primary"},c().createElement(l.FormattedMessage,{id:"mfa.confirm.okay",defaultMessage:"Okay"}))))}var M=r(36891),k=r(23894),N=r(83975),S=(r(911),r(35683)),A=r(2664),q=r(70174);function P(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,"string");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class w extends c().PureComponent{constructor(e){super(e),P(this,"submit",(e=>{var t,r;e.preventDefault();const a=null===(t=this.input)||void 0===t||null===(r=t.current)||void 0===r?void 0:r.value.replace(/\s/g,"");a&&0!==a.length?(this.setState({error:null}),this.props.actions.activateMfa(a).then((e=>{let{error:t}=e;t?"ent.mfa.activate.authenticate.app_error"===t.server_error_id?this.setState({error:q._u({id:"mfa.setup.badCode",defaultMessage:"Invalid code. If this issue persists, contact your System Administrator."})}):this.setState({error:t.message}):this.props.history.push("/mfa/confirm")}))):this.setState({error:q._u({id:"mfa.setup.codeError",defaultMessage:"Please enter the code from Google Authenticator."})})})),this.state={secret:"",qrCode:""},this.input=c().createRef()}componentDidMount(){const e=this.props.currentUser;e&&!e.mfa_active?this.props.actions.generateMfaSecret().then((e=>{let{data:t,error:r}=e;r?this.setState({serverError:r.message}):this.setState({secret:t.secret,qrCode:t.qr_code})})):this.props.history.push("/")}render(){let e,t,r="form-group";return this.state.error&&(e=c().createElement("div",{className:"form-group has-error"},c().createElement("label",{className:"control-label"},this.state.error)),r+=" has-error"),this.props.enforceMultifactorAuthentication&&(t=c().createElement("p",null,c().createElement(A.Z,{id:"mfa.setup.required",defaultMessage:"**Multi-factor authentication is required on {siteName}.**",values:{siteName:this.props.siteName}}))),c().createElement("div",null,c().createElement("form",{onSubmit:this.submit,className:r},t,c().createElement("p",null,c().createElement(l.FormattedMessage,{id:"mfa.setup.step1",defaultMessage:"Step 1: On your phone, download Google Authenticator from iTunes or Google Play",values:{strong:e=>c().createElement("strong",null,e),linkiTunes:e=>c().createElement(S.Z,{href:"https://itunes.apple.com/us/app/google-authenticator/id388497605?mt=8",location:"mfa_setup"},e),linkGooglePlay:e=>c().createElement(S.Z,{href:"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en",location:"mfa_setup"},e)}})),c().createElement("p",null,c().createElement(A.Z,{id:"mfa.setup.step2",defaultMessage:"**Step 2: **Use Google Authenticator to scan this QR code, or manually type in the secret key"})),c().createElement("div",{className:"form-group"},c().createElement("div",{className:"col-sm-12"},c().createElement("img",{alt:"qr code image",style:R.qrCode,src:"data:image/png;base64,"+this.state.qrCode}))),c().createElement("br",null),c().createElement("div",{className:"form-group"},c().createElement("p",{className:"col-sm-12"},c().createElement(l.FormattedMessage,{id:"mfa.setup.secret",defaultMessage:"Secret: {secret}",values:{secret:this.state.secret}}))),c().createElement("p",null,c().createElement(A.Z,{id:"mfa.setup.step3",defaultMessage:"**Step 3: **Enter the code generated by Google Authenticator"})),c().createElement("p",null,c().createElement("input",{ref:this.input,className:"form-control",placeholder:this.props.intl.formatMessage({id:"mfa.setup.code",defaultMessage:"MFA Code"}),autoFocus:!0})),e,c().createElement("button",{type:"submit",className:"btn btn-primary"},c().createElement(l.FormattedMessage,{id:"mfa.setup.save",defaultMessage:"Save"}))))}}P(w,"propTypes",{state:o().shape({enforceMultifactorAuthentication:o().bool.isRequired}).isRequired,updateParent:o().func.isRequired,siteName:o().string,enforceMultifactorAuthentication:o().bool.isRequired,actions:o().shape({activateMfa:o().func.isRequired,generateMfaSecret:o().func.isRequired}).isRequired,history:o().shape({}).isRequired});const R={qrCode:{maxHeight:170}},C=(0,l.injectIntl)(w),_=(0,a.connect)((function(e){const t=(0,n.iE)(e),r=t.SiteName,a="true"===t.EnforceMultifactorAuthentication;return{currentUser:(0,k.ts)(e),siteName:r,enforceMultifactorAuthentication:a}}),(function(e){return{actions:(0,M.bindActionCreators)({activateMfa:N.QI,generateMfaSecret:N.lg},e)}}))(C);function F(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,"string");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class I extends c().PureComponent{constructor(e){super(e),F(this,"handleOnClick",(e=>{e.preventDefault(),(0,m.gc)("/login")})),F(this,"updateParent",(e=>{this.setState(e)})),this.state={enforceMultifactorAuthentication:e.enableMultifactorAuthentication}}componentDidMount(){document.body.classList.add("sticky"),document.getElementById("root").classList.add("container-fluid"),this.props.enableMultifactorAuthentication||this.props.history.push("/")}componentWillUnmount(){document.body.classList.remove("sticky"),document.getElementById("root").classList.remove("container-fluid")}render(){let e;return e=this.props.mfa&&this.props.enforceMultifactorAuthentication?c().createElement("div",{className:"signup-header"},c().createElement("button",{className:"style--none color--link",onClick:this.handleOnClick},c().createElement(p.Z,null),c().createElement(l.FormattedMessage,{id:"web.header.logout",defaultMessage:"Logout"}))):c().createElement(d.Z,null),c().createElement("div",{className:"inner-wrap"},c().createElement("div",{className:"row content"},c().createElement("div",null,e,c().createElement("div",{className:"col-sm-12"},c().createElement("div",{className:"signup-team__container"},c().createElement("h3",null,c().createElement(l.FormattedMessage,{id:"mfa.setupTitle",defaultMessage:"Multi-factor Authentication Setup"})),c().createElement("img",{alt:"signup team logo",className:"signup-team-logo",src:f}),c().createElement("div",{id:"mfa"},c().createElement(u.Switch,null,c().createElement(u.Route,{path:"".concat(this.props.match.url,"/setup"),render:e=>c().createElement(_,Object.assign({state:this.state,updateParent:this.updateParent},e))}),c().createElement(u.Route,{path:"".concat(this.props.match.url,"/confirm"),render:()=>c().createElement(y,null)}))))))))}}F(I,"propTypes",{location:o().shape({search:o().string.isRequired}).isRequired,children:o().node,mfa:o().bool.isRequired,enableMultifactorAuthentication:o().bool.isRequired,enforceMultifactorAuthentication:o().bool.isRequired,match:o().shape({url:o().string.isRequired}).isRequired});const T=(0,a.connect)((function(e){const t=(0,n.lJ)(e),r=(0,n.iE)(e);return{mfa:"true"===t.MFA,enableMultifactorAuthentication:"true"===r.EnableMultifactorAuthentication,enforceMultifactorAuthentication:"true"===r.EnforceMultifactorAuthentication}}))(I)},77477:(e,t,r)=>{r.d(t,{Z:()=>o});var a=r(84390),n=r.n(a),s=r(72060);function o(){const{formatMessage:e}=(0,s.useIntl)();return n().createElement("i",{className:"fa fa-1x fa-angle-left",title:e({id:"generic_icons.logout",defaultMessage:"Logout Icon"})})}},70012:(e,t,r)=>{e.exports=r.p+"files/ab8aa80cba445eb0fb75.png"}}]);
//# sourceMappingURL=2028.b3003a9b059cfdf354b0.js.map