1"use strict";(self.webpackChunkmattermost_webapp=self.webpackChunkmattermost_webapp||[]).push([[1241],{83469(e,t,a){a.d(t,{OA:()=>c,_D:()=>n,n:()=>o});var r=a(17085),s=a(7430);function n(e){return(t,a)=>{const n=(0,s.WR)(a());return t(r.BX(n,!0,e))}}function o(){return(e,t)=>{const a=(0,s.WR)(t());return e(r.BX(a,!1))}}function c(){return(e,t)=>{const a=(0,s.WR)(t());return e(r.OA(a))}}},88153(e,t,a){a.d(t,{A:()=>l});var r=a(71633),s=a.n(r),n=a(36418),o=a(14778),c=a(81911);const l=e=>{let{url:t="/",className:a,onClick:r}=e;const{formatMessage:l}=(0,o.useIntl)();return n.createElement("div",{className:s()("signup-header",a)},n.createElement(c.Link,{"data-testid":"back_button",onClick:r,to:t},n.createElement("span",{id:"back_button_icon",className:"fa fa-1x fa-angle-left",title:l({id:"generic_icons.back",defaultMessage:"Back Icon"})}),n.createElement(o.FormattedMessage,{id:"web.header.back",defaultMessage:"Back"})))}},30491(e,t,a){a.d(t,{A:()=>o});var r=a(36418),s=a(14778);const n=r.forwardRef(((e,t)=>{let{placeholder:a,...n}=e;const o=(0,s.useIntl)();return r.createElement("input",Object.assign({ref:t,placeholder:o.formatMessage(a)},n))}));n.displayName="LocalizedPlaceholderInput";const o=n},51241(e,t,a){a.r(t),a.d(t,{default:()=>w});var r=a(37270),s=a(26614),n=(a(15724),a(36418)),o=a(14778),c=a(81911),l=a(91767),i=a(88153),u=a(3708),m=a(80945),d=a(81444),p=a(19513);const f=d.Ay.KeyCodes,h=e=>{e.preventDefault(),(0,l.tc)()},g=e=>{(0,p.e)(e,f.ENTER)&&h(e)};function E(){return(0,n.useEffect)((()=>(document.body.addEventListener("keydown",g),()=>{document.body.removeEventListener("keydown",g)})),[]),n.createElement("div",null,n.createElement("form",{onSubmit:h,onKeyPress:g,className:"form-group"},n.createElement("strong",null,n.createElement(o.FormattedMessage,{id:"mfa.confirm.complete",defaultMessage:"Set up complete!"})),n.createElement("p",null,n.createElement(o.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 your authenticator app on your phone."})),n.createElement("button",{type:"submit",className:"btn btn-primary"},n.createElement(o.FormattedMessage,{id:"mfa.confirm.okay",defaultMessage:"Okay"}))))}var M=a(32446),b=a(7430),v=a(83469),y=a(30491);class N extends n.PureComponent{constructor(e){super(e),this.state={error:void 0,secret:"",qrCode:""},this.input=n.createRef()}componentDidMount(){const e=this.props.currentUser;e&&!e.mfa_active?this.props.actions.generateMfaSecret().then((e=>{let{data:t,error:a}=e;a?this.setState({serverError:a.message}):this.setState({secret:t.secret,qrCode:t.qr_code})})):this.props.history.push("/")}submit=e=>{e.preventDefault();const t=this.input?.current?.value.replace(/\s/g,"");if(!t||0===t.length)return this.setState({error:n.createElement(o.FormattedMessage,{id:"mfa.setup.codeError",defaultMessage:"Please enter the code from your authenticator app."})}),void this.input?.current?.focus();this.setState({error:null}),this.props.actions.activateMfa(t).then((e=>{let{error:t}=e;if(t)return"ent.mfa.activate.authenticate.app_error"===t.server_error_id?this.setState({error:n.createElement(o.FormattedMessage,{id:"mfa.setup.badCode",defaultMessage:"Invalid code. If this issue persists, contact your System Administrator."})}):this.setState({error:t.message}),void this.input?.current?.focus();this.props.history.push("/mfa/confirm")}))};render(){let e,t,a="form-group";return this.state.error&&(e=n.createElement("div",{id:"mfa-setup-error",className:"form-group has-error",role:"alert"},n.createElement("label",{className:"control-label"},this.state.error)),a+=" has-error"),this.props.enforceMultifactorAuthentication&&(t=n.createElement("p",null,n.createElement(o.FormattedMessage,{id:"mfa.setup.required_mfa",defaultMessage:"<strong>Multi-factor authentication is required on {siteName}.</strong>",values:{siteName:this.props.siteName,strong:e=>n.createElement("strong",null,e)}}))),n.createElement("div",null,n.createElement("form",{onSubmit:this.submit,className:a},t,n.createElement("p",null,n.createElement(o.FormattedMessage,{id:"mfa.setup.step1",defaultMessage:"1. Scan the QR code below using an authenticator app of your choice, such as Google Authenticator, Microsoft Authenticator app, or 1Password."})),n.createElement("p",null,n.createElement(o.FormattedMessage,{id:"mfa.setup.step2_secret",defaultMessage:"Alternatively, enter the secret key dis
1played below into the authenticator app manually."})),n.createElement("div",{className:"form-group"},n.createElement("div",{className:"col-sm-12"},n.createElement("img",{alt:"qr code image",style:A.qrCode,src:"data:image/png;base64,"+this.state.qrCode}))),n.createElement("br",null),n.createElement("div",{className:"form-group"},n.createElement("p",{className:"col-sm-12"},n.createElement(o.FormattedMessage,{id:"mfa.setup.secret",defaultMessage:"Secret: {secret}",values:{secret:this.state.secret}}))),n.createElement("p",null,n.createElement(o.FormattedMessage,{id:"mfa.setup.step3_code",defaultMessage:"2. Enter the code generated by the authenticator app in the field below."})),n.createElement("p",null,n.createElement(y.A,{ref:this.input,className:"form-control",placeholder:(0,o.defineMessage)({id:"mfa.setup.code",defaultMessage:"MFA Code"}),autoFocus:!0,"aria-describedby":this.state.error?"mfa-setup-error":void 0})),e,n.createElement("button",{type:"submit",className:"btn btn-primary"},n.createElement(o.FormattedMessage,{id:"mfa.setup.save",defaultMessage:"Save"}))))}}const A={qrCode:{maxHeight:170}},k=(0,r.connect)((function(e){const t=(0,s.zj)(e),a=t.SiteName,r="true"===t.EnforceMultifactorAuthentication;return{currentUser:(0,b.HW)(e),siteName:a,enforceMultifactorAuthentication:r}}),(function(e){return{actions:(0,M.zH)({activateMfa:v._D,generateMfaSecret:v.OA},e)}}))(N);class _ extends n.PureComponent{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")}handleOnClick=e=>{e.preventDefault(),(0,l.BN)("/login")};render(){let e;return e=this.props.mfa&&this.props.enforceMultifactorAuthentication?n.createElement("div",{className:"signup-header"},n.createElement("button",{className:"style--none color--link",onClick:this.handleOnClick},n.createElement(u.A,null),n.createElement(o.FormattedMessage,{id:"web.header.logout",defaultMessage:"Logout"}))):n.createElement(i.A,null),n.createElement("div",{className:"inner-wrap"},n.createElement("div",{className:"row content"},n.createElement("div",null,e,n.createElement("div",{className:"col-sm-12"},n.createElement("div",{className:"signup-team__container"},n.createElement("h3",null,n.createElement(o.FormattedMessage,{id:"mfa.setupTitle",defaultMessage:"Multi-factor Authentication Setup"})),n.createElement("img",{alt:"signup team logo",className:"signup-team-logo",src:m}),n.createElement("div",{id:"mfa"},n.createElement(c.Switch,null,n.createElement(c.Route,{path:`${this.props.match.url}/setup`,render:e=>n.createElement(k,e)}),n.createElement(c.Route,{path:`${this.props.match.url}/confirm`,render:()=>n.createElement(E,null)}))))))))}}const w=(0,r.connect)((function(e){const t=(0,s.Ay)(e),a=(0,s.zj)(e);return{mfa:"true"===t.MFA,enableMultifactorAuthentication:"true"===a.EnableMultifactorAuthentication,enforceMultifactorAuthentication:"true"===a.EnforceMultifactorAuthentication}}))(_)},3708(e,t,a){a.d(t,{A:()=>n});var r=a(36418),s=a(14778);function n(){const{formatMessage:e}=(0,s.useIntl)();return r.createElement("i",{className:"fa fa-1x fa-angle-left",title:e({id:"generic_icons.logout",defaultMessage:"Logout Icon"})})}},80945(e,t,a){e.exports=a.p+"files/35ac92e02e10117d06b4.png"}}]); 2//# sourceMappingURL=1241.dae00053349cf0669a2b.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.