PageSourceSearch

https://git.purrdata.net/assets/webpack/commons-pages.admin.sessio…pages.sessions-p-ea3be603.706284b3.chunk.js

js purrdata.net collected 2026-09-24 12:27:11 UTC 57,494 bytes, 2 lines download raw bytes

1(this.webpackJsonp=this.webpackJsonp||[]).push([["commons-pages.admin.sessions-pages.ldap.omniauth_callbacks-pages.omniauth_callbacks-pages.sessions-p-ea3be603"],{"42Qb":function(e,t,i){"use strict";var n=i("Jx7q"),r=i("CbCZ"),a=i("dIEn"),o=i("qLpH"),s=i("2ibD"),l=i("/lV4"),d={name:"EmailOtpFallbackFooter",components:{GlLink:n.a,GlButton:r.a,GlSprintf:a.a},props:{sendEmailOtpPath:{type:String,required:!0},username:{type:String,required:!0}},emits:["error","success"],data:()=>({isSendingEmailOtp:!1}),methods:{async sendEmailOtp(){this.isSendingEmailOtp=!0;try{var e;const t=await s.a.post(this.sendEmailOtpPath,{user:{login:this.username}});document.querySelector(".js-2fa-form").classList.add("hidden"),this.$emit("success",null!==(e=t.data.show_resend_after)&&void 0!==e?e:null)}catch(e){const t=Object(l.a)("Failed to send email OTP. Please try again. If the problem persists, refresh your page or sign in again."),i=null==e?void 0:e.message;this.$emit("error",{message:t,name:i})}finally{this.isSendingEmailOtp=!1}}},recoveryCodeLinkPath:Object(o.a)("user/profile/account/two_factor_authentication",{anchor:"recovery-codes"})},u=i("tBpV"),c=Object(u.a)(d,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"gl-mt-3 gl-text-center gl-text-subtle"},[t("gl-sprintf",{attrs:{message:e.__("Having trouble signing in? %{recoveryCodeLinkStart}Enter recovery code%{recoveryCodeLinkEnd} or %{sendCodeLinkStart}send code to email address%{sendCodeLinkEnd}.")},scopedSlots:e._u([{key:"recoveryCodeLink",fn:function(){return[t("gl-link",{attrs:{href:e.$options.recoveryCodeLinkPath,target:"_blank"}},[e._v("\n        "+e._s(e.__("Enter recovery code"))+"\n      ")])]},proxy:!0},{key:"sendCodeLink",fn:function({content:i}){return[t("gl-button",{attrs:{variant:"link",loading:e.isSendingEmailOtp,disabled:e.isSendingEmailOtp,category:"tertiary","data-testid":"send-email-otp-link"},on:{click:e.sendEmailOtp}},[e._v("\n        "+e._s(i)+"\n      ")])]}}])})],1)}),[],!1,null,null,null);t.a=c.exports},"4Ctn":function(e,t,i){"use strict";i.d(t,"a",(function(){return a}));i("RFHG"),i("z6RN"),i("xuo1");var n=i("Z48/");const r=function(e){return"\\"+e},a=function(e){const t=(e=Object(n.e)(e)).length,i=e.charCodeAt(0);return e.split("").reduce((function(n,a,o){const s=e.charCodeAt(o);return 0===s?n+"�":127===s||s>=1&&s<=31||0===o&&s>=48&&s<=57||1===o&&s>=48&&s<=57&&45===i?n+r(s.toString(16)+" "):0===o&&45===s&&1===t?n+r(a):s>=128||45===s||95===s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122?n+a:n+r(a)}),"")}},"674C":function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var n=i("1s/W");const r=function(e,t,i=""){return e&&t&&Object(n.a)(e)?"string"!=typeof t?e:{...e,[t]:i}:{}}},"CzA/":function(e,t,i){"use strict";i.d(t,"a",(function(){return v}));var n=i("w1Jm"),r=i("px7G"),a=(i("ZzK0"),i("z6RN"),i("BzOf"),i("aFm2"),i("R9qC"),i("RFHG"),i("xuo1"),i("WkQt")),o=i("dJQL"),s=i("eOJu"),l=i("w1kk");class d{constructor(){this.$_config={}}setConfig(e={}){var t=this;if(!Object(o.j)(e))return;Object(s.f)(e).forEach((function(i){const a=e[i];"breakpoints"===i?!Object(o.a)(a)||a.length<2||a.some((function(e){return!Object(o.m)(e)||0===e.length}))?Object(l.a)('"breakpoints" must be an array of at least 2 breakpoint names',n.b):t.$_config[i]=Object(r.a)(a):Object(o.j)(a)&&(t.$_config[i]=Object(s.f)(a).reduce((function(e,t){return Object(o.n)(a[t])||(e[t]=Object(r.a)(a[t])),e}),t.$_config[i]||{}))}))}resetConfig(){this.$_config={}}getConfig(){return Object(r.a)(this.$_config)}getConfigValue(e,t){return Object(r.a)(Object(a.b)(this.$_config,e,t))}}let u=null;const c=function(){return u||(u=new d),u};var m=i("jxyu");const f=function(e,t){return c().getConfigValue(e,t)},p=function(){return f("breakpoints",n.a)},h=Object(m.a)((function(){return p()})),b=function(){return Object(r.a)(h())},v=Object(m.a)((function(){const e=b();return e[0]="",e}))},EIEn:function(e,t,i){"use strict";var n=i("nrbW"),r=i("L78D"),a=i("hvGG"),o=i("CbCZ"),s=i("GVjJ"),l=i("lhE0"),d={name:"EmailForm",components:{GlForm:n.a,GlFormGroup:r.a,GlFormInput:a.a,GlButton:o.a},props:{error:{type:String,required:!1,default:""},formInfo:{type:String,required:!1,default:void 0},submitText:{type:String,required:!0}},emits:["cancel","submit-email"],data:()=>({email:"",submitted:!1}),computed:{inputValidation(){return{state:!(this.submitted&&this.invalidFeedback),message:this.invalidFeedback}},invalidFeedback(){return this.submitted?Object(s.f)(this.email)?this.error:l.e:""}},watch:{email(){this.submitted=!1}},methods:{submit(){this.submitted=!0,this.$emit("submit-email",this.email)}},i18n:{email:l.c,cancel:l.a}},u=i("tBpV"),c=Object(u.a)(d,(function(){var e=this,t=e._self._c;return t("gl-form",{on:{submit:function(t){return t.preventDefault(),e.submit.apply(null,arguments)}}},[t("gl-form-group",{attrs:{label:e.$options.i18n.email,"label-for":"email-input",state:e.inputValidation.state,"invali
1d-feedback":e.inputValidation.message}},[t("gl-form-input",{attrs:{id:"email-input",type:"email",autofocus:"",state:e.inputValidation.state},model:{value:e.email,callback:function(t){e.email=t},expression:"email"}}),e._v(" "),e.formInfo?t("p",{staticClass:"gl-mt-3 gl-text-subtle"},[e._v(e._s(e.formInfo))]):e._e()],1),e._v(" "),t("section",{staticClass:"gl-mt-5"},[t("gl-button",{attrs:{block:"",variant:"confirm",type:"submit",disabled:!e.inputValidation.state}},[e._v(e._s(e.submitText))]),e._v(" "),t("gl-button",{staticClass:"gl-mt-3 gl-h-7",attrs:{block:"",variant:"link"},on:{click:function(t){return e.$emit("cancel")}}},[e._v(e._s(e.$options.i18n.cancel))])],1)],1)}),[],!1,null,null,null);t.a=c.exports},GVjJ:function(e,t,i){"use strict";i.d(t,"a",(function(){return r})),i.d(t,"i",(function(){return a})),i.d(t,"h",(function(){return o})),i.d(t,"c",(function(){return s})),i.d(t,"b",(function(){return l})),i.d(t,"d",(function(){return d})),i.d(t,"e",(function(){return c})),i.d(t,"f",(function(){return f})),i.d(t,"g",(function(){return p}));i("RFHG"),i("z6RN"),i("xuo1"),i("3UXl"),i("iyoE"),i("UezY"),i("hG7+");var n=i("0AwG");const r={"data-1p-ignore":"true","data-bwignore":"true","data-form-type":"other","data-lpignore":"true"},a=function(e){const t=new FormData(e);return function(e){return e.reduce((function(e,{name:t,value:i}){return Object.assign(e,{[t]:i})}),{})}(Array.from(t.keys()).map((function(e){let i=t.getAll(e);return i=i.filter((function(e){return e})),{name:e,value:1===i.length?i[0]:i}})))},o=function(e){return"string"==typeof e?e.trim():e},s=function(e){return null==e||0===o(e).length},l=function(e,t){return!s(e)&&e.length>=t},d=function(e,t){return function(e){return!s(e)&&Number.isInteger(Number(o(e)))}(e)&&parseInt(e,10)>t},u=/^[\w\-._]+@[\w\-.]+\.[a-zA-Z]{2,}$/,c=function(e){return u.test(e)},m=/^[^@\s]+@[^@\s]+$/,f=function(e){return m.test(e)},p=function(e){if(!e)throw new TypeError("`mountEl` argument is required");return[...e.querySelectorAll("[name]")].reduce((function(e,t){const i=t.dataset.jsName;if(!i)return e;const r=Object(n.h)(i),{id:a,placeholder:o,name:s,value:l,type:d,checked:u,maxLength:c,pattern:m}=t,f={name:s,id:a,value:l,...o&&{placeholder:o},...t.hasAttribute("maxlength")&&{maxLength:c},...m&&{pattern:m}};return["radio","checkbox"].includes(d)?{...e,[r]:[...e[r]||[],{...f,checked:u}]}:{...e,[r]:f}}),{})}},GWY9:function(e,t,i){"use strict";i.d(t,"a",(function(){return Z}));i("byxs");var n=i("ewH8"),r=i("NmEs"),a=i("V5hC"),o=i("CbCZ"),s=i("nrbW"),l=i("OMfv"),d=i("Jx7q"),u=i("dIEn"),c=i("Xz4k"),m=i.p+"empty-secrets-md.f67b5bfa.svg",f=i("Qhxq"),p=i("/lV4"),h=i("qLpH"),b=i("GVjJ"),v=i("h8fo"),g=i("dbR7"),y=i("z9Qk"),_={name:"RecoveryCode",components:{GlButton:o.a,GlForm:s.a,GlFormFields:l.a,GlLink:d.a,GlSprintf:u.a,VerificationLayout:y.a},props:{path:{type:String,required:!0},adminMode:{type:Boolean,required:!1,default:!1},rememberMe:{type:String,required:!0},rememberMeEnabled:{type:Boolean,required:!0}},data:()=>({values:{otpAttempt:""}}),methods:{newUserSessionPath:g.e,newAdminSessionPath:v.i},csrf:f.a,illustration:m,recoveryCodesHelpPath:Object(h.a)("user/profile/account/two_factor_authentication",{anchor:"recovery-codes"}),sshHelpPath:Object(h.a)("user/profile/account/two_factor_authentication_troubleshooting",{anchor:"regenerate-recovery-codes-with-ssh"}),fields:{otpAttempt:{label:Object(p.i)("TwoFactorAuth|Recovery code"),validators:[c.a.required(Object(p.i)("TwoFactorAuth|Recovery code is required."))],inputAttrs:{...b.a,autocomplete:"off",autofocus:!0,"data-testid":"recovery-code-field",name:"user[otp_attempt]"}}}},O=i("tBpV"),k=Object(O.a)(_,(function(){var e=this,t=e._self._c;return t("verification-layout",{attrs:{"svg-path":e.$options.illustration,title:e.s__("TwoFactorAuth|Enter account recovery code")},scopedSlots:e._u([{key:"description",fn:function(){return[t("gl-sprintf",{attrs:{message:e.s__("TwoFactorAuth|Enter one of the %{linkStart}recovery codes%{linkEnd} generated when you added two-factor authentication to your account.")},scopedSlots:e._u([{key:"link",fn:function({content:i}){return[t("gl-link",{attrs:{href:e.$options.recoveryCodesHelpPath,target:"_blank"}},[e._v(e._s(i))])]}}])})]},proxy:!0}])},[e._v(" "),t("gl-form",{ref:"form",attrs:{id:"recovery-form",action:e.path,method:"post"}},[t("gl-form-fields",{attrs:{"form-id":"recovery-form",fields:e.$options.fields,"validate-on-blur":!1},on:{submit:function(t){return e.$refs.form.$el.submit()}},model:{value:e.values,callback:function(t){e.values=t},expression:"values"}}),e._v(" "),e.rememberMeEnabled?t("input",{attrs:{type:"hidden",name:"user[remember_me]"},domProps:{value:e.rememberMe}}
1):e._e(),e._v(" "),t("input",{attrs:{type:"hidden",name:"authenticity_token"},domProps:{value:e.$options.csrf.token}}),e._v(" "),t("input",{attrs:{type:"hidden",name:"two_factor_method",value:"recovery"}}),e._v(" "),t("div",{staticClass:"gl-flex gl-flex-col gl-gap-3"},[t("gl-button",{staticClass:"js-no-auto-disable",attrs:{block:"","data-testid":"verify-recovery-code-button",type:"submit",variant:"confirm"}},[e._v(e._s(e.s__("TwoFactorAuth|Verify code")))]),e._v(" "),t("gl-button",{attrs:{block:"",href:e.adminMode?e.newAdminSessionPath():e.newUserSessionPath(),"data-testid":"back-to-sign-in-button"}},[e._v(e._s(e.s__("TwoFactorAuth|Back to sign-in")))])],1)],1),e._v(" "),t("p",{staticClass:"gl-mt-5 gl-text-subtle"},[t("gl-sprintf",{attrs:{message:e.s__("TwoFactorAuth|Lost your codes? %{linkStart}Generate recovery codes with SSH key%{linkEnd}")},scopedSlots:e._u([{key:"link",fn:function({content:i}){return[t("gl-link",{attrs:{href:e.$options.sshHelpPath,target:"_blank"}},[e._v(e._s(i))])]}}])})],1)],1)}),[],!1,null,null,null).exports,w=i.p+"empty-service-desk-md.8538923a.svg",j={name:"VerificationDivider"},E=Object(O.a)(j,(function(){var e=this._self._c;return e("div",{staticClass:"gl-my-3 gl-flex gl-items-center gl-gap-3",attrs:{"data-testid":"verification-divider"}},[e("hr",{staticClass:"gl-grow gl-border-default"}),this._v(" "),e("span",{staticClass:"gl-text-subtle"},[this._v(this._s(this.s__("TwoFactorAuth|or verify with")))]),this._v(" "),e("hr",{staticClass:"gl-grow gl-border-default"})])}),[],!1,null,null,null).exports,S={name:"VerificationRecoverAccount",components:{GlButton:o.a,GlSprintf:u.a},emits:["recover"]},F=Object(O.a)(S,(function(){var e=this,t=e._self._c;return t("p",{staticClass:"gl-mt-5 gl-flex gl-flex-wrap gl-gap-2 gl-text-subtle"},[t("gl-sprintf",{attrs:{message:e.s__("TwoFactorAuth|Having trouble signing in? %{buttonStart}Recover your account%{buttonEnd}")},scopedSlots:e._u([{key:"button",fn:function({content:i}){return[t("gl-button",{attrs:{variant:"link","data-testid":"recovery-button"},on:{click:function(t){return e.$emit("recover")}}},[e._v(e._s(i))])]}}])})],1)}),[],!1,null,null,null).exports,C={name:"TotpCode",components:{GlButton:o.a,GlForm:s.a,GlFormFields:l.a,VerificationLayout:y.a,VerificationDivider:E,VerificationRecoverAccount:F},props:{path:{type:String,required:!0},rememberMe:{type:String,required:!0},rememberMeEnabled:{type:Boolean,required:!0},webauthnEnabled:{type:Boolean,required:!1,default:!1},emailEnabled:{type:Boolean,required:!1,default:!1}},emits:["switch-method"],data:()=>({values:{otpAttempt:""}}),csrf:f.a,illustration:w,fields:{otpAttempt:{id:"user_otp_attempt",label:Object(p.i)("TwoFactorAuth|6-digit code"),validators:[c.a.required(Object(p.i)("TwoFactorAuth|One-time passcode is required."))],inputAttrs:{autocomplete:"one-time-code",autofocus:!0,"data-testid":"two-fa-code-field",inputmode:"numeric",name:"user[otp_attempt]"}}}},A=Object(O.a)(C,(function(){var e=this,t=e._self._c;return t("verification-layout",{attrs:{"svg-path":e.$options.illustration,title:e.s__("TwoFactorAuth|Enter authenticator app code")},scopedSlots:e._u([{key:"description",fn:function(){return[e._v("\n    "+e._s(e.s__("TwoFactorAuth|Enter the 6-digit one-time passcode generated by your registered authenticator app to verify your identity."))+"\n  ")]},proxy:!0}])},[e._v(" "),t("gl-form",{ref:"form",attrs:{id:"otp-form",action:e.path,method:"post"}},[t("gl-form-fields",{attrs:{"form-id":"otp-form",fields:e.$options.fields,"validate-on-blur":!1},on:{submit:function(t){return e.$refs.form.$el.submit()}},model:{value:e.values,callback:function(t){e.values=t},expression:"values"}}),e._v(" "),e.rememberMeEnabled?t("input",{attrs:{type:"hidden",name:"user[remember_me]"},domProps:{value:e.rememberMe}}):e._e(),e._v(" "),t("input",{attrs:{type:"hidden",name:"authenticity_token"},domProps:{value:e.$options.csrf.token}}),e._v(" "),t("input",{attrs:{type:"hidden",name:"two_factor_method",value:"totp"}}),e._v(" "),t("gl-button",{staticClass:"js-no-auto-disable",attrs:{block:"","data-testid":"verify-code-button",type:"submit",variant:"confirm"}}
1,[e._v(e._s(e.s__("TwoFactorAuth|Verify code")))])],1),e._v(" "),e.webauthnEnabled||e.emailEnabled?[t("verification-divider"),e._v(" "),t("div",{staticClass:"gl-flex gl-flex-col gl-gap-3"},[e.webauthnEnabled?t("gl-button",{attrs:{block:"","data-testid":"security-device-button"},on:{click:function(t){return e.$emit("switch-method","webauthn")}}},[e._v(e._s(e.s__("TwoFactorAuth|Security device")))]):e._e(),e._v(" "),e.emailEnabled?t("gl-button",{attrs:{block:"","data-testid":"email-code-button"},on:{click:function(t){return e.$emit("switch-method","email")}}},[e._v(e._s(e.s__("TwoFactorAuth|Email code")))]):e._e()],1)]:e._e(),e._v(" "),t("verification-recover-account",{on:{recover:function(t){return e.$emit("switch-method","recovery")}}})],2)}),[],!1,null,null,null).exports,V=i("E+Ik"),x=i("jlnU"),q=i("fQCf"),$=i("Btec"),P=i("jToU"),T={name:"WebAuthnAuthentication",components:{GlButton:o.a,GlForm:s.a,VerificationLayout:y.a,VerificationDivider:E,VerificationRecoverAccount:F},props:{path:{type:String,required:!0},rememberMe:{type:String,required:!0},rememberMeEnabled:{type:Boolean,required:!0},webauthnParams:{type:Object,required:!0},totpEnabled:{type:Boolean,required:!0},emailEnabled:{type:Boolean,required:!1,default:!1}},emits:["switch-method","webauthn-not-supported"],data:()=>({abortController:new AbortController,inProgress:!1,deviceResponse:""}),mounted(){Object(q.i)()?this.authenticate():this.$emit("webauthn-not-supported")},destroyed(){var e;this.abortController.abort(),null===(e=this.alert)||void 0===e||e.dismiss()},methods:{tryAgain(){this.authenticate()},async authenticate(){var e;null===(e=this.alert)||void 0===e||e.dismiss(),this.inProgress=!0;try{const e={publicKey:Object(q.f)(this.webauthnParams),signal:this.abortController.signal},t=await navigator.credentials.get(e);this.deviceResponse=JSON.stringify(Object(q.g)(t)),await this.$nextTick(),this.$refs.form.$el.submit()}catch(e){if(this.abortController.signal.aborted)return;this.inProgress=!1;const t=new P.a(e,$.s);this.alert=Object(x.createAlert)({message:`${t.message()} (${t.errorName})`,preservePrevious:!0})}}},csrf:f.a,illustration:V.a},I=Object(O.a)(T,(function(){var e=this,t=e._self._c;return t("verification-layout",{attrs:{"svg-path":e.$options.illustration,title:e.s__("TwoFactorAuth|Verify with security device")},scopedSlots:e._u([{key:"description",fn:function(){return[e._v("\n    "+e._s(e.s__("TwoFactorAuth|Follow the instructions in your browser or password manager to authenticate with a passkey, laptop, phone, or authenticator like a YubiKey. Insert a physical key, if you have any."))+"\n  ")]},proxy:!0}])},[e._v(" "),t("p",{staticClass:"gl-text-subtle",attrs:{"data-testid":"webauthn-in-progress","aria-live":"polite"}},[e.inProgress?[e._v("\n      "+e._s(e.s__("TwoFactorAuth|Trying to communicate with your device. Plug it in (if you haven't already) and follow the instructions."))+"\n    ")]:e._e()],2),e._v(" "),t("gl-form",{ref:"form",staticClass:"gl-hidden",attrs:{action:e.path,method:"post"}},[t("input",{attrs:{type:"hidden",name:"authenticity_token"},domProps:{value:e.$options.csrf.token}}),e._v(" "),t("input",{attrs:{type:"hidden",name:"two_factor_method",value:"webauthn"}}),e._v(" "),t("input",{attrs:{type:"hidden",name:"user[device_response]"},domProps:{value:e.deviceResponse}}),e._v(" "),e.rememberMeEnabled?t("input",{attrs:{type:"hidden",name:"user[remember_me]"},domProps:{value:e.rememberMe}}):e._e()]),e._v(" "),t("gl-button",{attrs:{"accessible-disabled":"",block:"","data-testid":"try-again-button",variant:"confirm",disabled:e.inProgress},on:{click:e.tryAgain}},[e._v(e._s(e.__("Try again")))]),e._v(" "),e.totpEnabled||e.emailEnabled?[t("verification-divider"),e._v(" "),t("div",{staticClass:"gl-flex gl-flex-col gl-gap-3"},[e.totpEnabled?t("gl-button",{attrs:{block:"","data-testid":"authenticator-app-button"},on:{click:function(t){return e.$emit("switch-method","totp")}}},[e._v(e._s(e.s__("TwoFactorAuth|Authenticator app")))]):e._e(),e._v(" "),e.emailEnabled?t("gl-button",{attrs:{block:"","data-testid":"email-code-button"},on:{click:function(t){return e.$emit("switch-method","email")}}}
1,[e._v(e._s(e.s__("TwoFactorAuth|Email code")))]):e._e()],1)]:e._e(),e._v(" "),t("verification-recover-account",{on:{recover:function(t){return e.$emit("switch-method","recovery")}}})],2)}),[],!1,null,null,null).exports,G=i.p+"email-verification-md.e105985f.svg",R=i("3twG"),M=i("2ibD"),B=i("VuQQ"),D=i("lhE0"),L=i("EIEn");const N="verificationCode";var z={name:"EmailCode",components:{GlForm:s.a,GlFormFields:l.a,GlButton:o.a,GlSprintf:u.a,GlCountdown:B.a,EmailForm:L.a,VerificationLayout:y.a},props:{sendEmailOtpPath:{type:String,required:!0},emailVerificationData:{type:Object,required:!0}},data(){return{email:this.emailVerificationData.obfuscatedEmail,values:{[N]:""},verifyError:"",activeForm:"VERIFY_CODE_FORM",isSending:!1,initialSendComplete:!1,showResendAfter:0}},computed:{serverValidations(){return{[N]:this.verifyError}},showResend(){return new Date(this.showResendAfter)<=new Date},resendAfterDateString(){return new Date(this.showResendAfter).toString()}},watch:{"values.verificationCode":function(){this.verifyError=""}},mounted(){this.sendCodePromise=this.sendCode()},methods:{newUserSessionPath:g.e,async sendCode(){this.isSending=!0;try{var e;const{data:t}=await M.a.post(this.sendEmailOtpPath,{user:{login:this.emailVerificationData.username}});this.showResendAfter=null!==(e=t.show_resend_after)&&void 0!==e?e:0}catch(e){var t;const i=null==e||null===(t=e.response)||void 0===t||null===(t=t.data)||void 0===t?void 0:t.message;i?this.showAlert({message:i}):this.handleError(e)}finally{this.isSending=!1,this.initialSendComplete=!0}},async verify(){await this.sendCodePromise;try{const{data:e}=await M.a.post(this.emailVerificationData.verifyPath,{user:{verification_token:this.values[N]}});e.status===D.r?Object(R.T)(Object(a.a)(e.redirect_path)):this.handleError()}catch(t){var e;const i=null==t||null===(e=t.response)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.message;i?this.verifyError=i:this.handleError(t)}},async resend(e=""){this.isSending=!0;try{const{data:i}=await M.a.post(this.emailVerificationData.resendPath,{user:{email:e}});var t;if(i.status===D.r)this.showResendAfter=null!==(t=i.show_resend_after)&&void 0!==t?t:0,this.showAlert({message:D.g,variant:x.VARIANT_SUCCESS});else this.handleError()}catch(e){var i;const t=null==e||null===(i=e.response)||void 0===i||null===(i=i.data)||void 0===i?void 0:i.message;t?this.showAlert({message:t}):this.handleError(e)}finally{this.isSending=!1,this.resetForm()}},sendToAnotherEmail(e){this.showVerifyCodeForm(e),this.resend(e)},onResendTimerExpired(){this.showResendAfter=0},handleError(e){this.showAlert({message:D.i,captureError:!0,error:e})},showAlert(e){this.dismissAlert(),this.alert=Object(x.createAlert)(e)},dismissAlert(){var e;null===(e=this.alert)||void 0===e||e.dismiss(),this.alert=null},resetForm(){this.values={[N]:""},this.verifyError="",this.$nextTick((function(){var e;null===(e=document.getElementById("email-code"))||void 0===e||e.focus()}))},showVerifyCodeForm(e=""){this.dismissAlert(),this.activeForm=this.$options.forms.verifyCodeForm,e.length&&(this.email=e),this.resetForm()},showAnotherEmailForm(){this.dismissAlert(),this.activeForm=this.$options.forms.anotherEmailForm}},illustration:G,fields:{[N]:{id:"email-code",label:D.k,validators:[c.a.required(D.d),function(e){return!e||D.t.test(e)?"":D.f}],inputAttrs:{...b.a,autocomplete:"one-time-code",autofocus:!0,"data-testid":"email-code-field",inputmode:"numeric",maxlength:"6",placeholder:Object(p.i)("TwoFactorAuth|Enter 6 digit code")}}},i18n:{title:Object(p.i)("TwoFactorAuth|Authenticate with your email"),description:Object(p.i)("TwoFactorAuth|We sent a code to %{email} to verify your identity. Keep this window open while checking your code."),submitButton:D.q,useAnotherEmailButton:Object(p.i)("TwoFactorAuth|Use another email"),didntGetCodeResendLink:D.b,resendCodeIn:D.m,resendCode:D.l,anotherEmailGuide:D.o},forms:{verifyCodeForm:"VERIFY_CODE_FORM",anotherEmailForm:"ANOTHER_EMAIL_FORM"}},U={name:"TwoFactorAuthentication",components:{RecoveryCode:k,TotpCode:A,WebauthnAuthentication:I,EmailCode:Object(O.a)(z,(function(){var e=this,t=e._self._c;return t("verification-layout",{attrs:{"svg-path":e.$options.illustration,title:e.$options.i18n.title}},[e.activeForm===e.$options.forms.anotherEmailForm?t("email-form",{attrs:{"form-info":e.$options.i18n.anotherEmailGuide,"submit-text":e.$options.i18n.resendCode,"data-testid":"another-email-form"},on:{"submit-email":e.sendToAnotherEmail,cancel:e.showVerifyCodeForm}}
1):t("gl-form",{attrs:{id:"email-otp-form","data-testid":"verify-code-form"}},[t("section",{staticClass:"gl-mb-5 gl-text-subtle"},[t("gl-sprintf",{attrs:{message:e.$options.i18n.description},scopedSlots:e._u([{key:"email",fn:function(){return[t("strong",[e._v(e._s(e.email))])]},proxy:!0}])})],1),e._v(" "),t("gl-form-fields",{attrs:{"form-id":"email-otp-form",fields:e.$options.fields,"server-validations":e.serverValidations,"validate-on-blur":!1},on:{submit:e.verify},scopedSlots:e._u([{key:"group(verificationCode)-description",fn:function(){return[e.showResend||e.isSending?t("gl-sprintf",{key:"_vif_1_0",attrs:{message:e.$options.i18n.didntGetCodeResendLink},scopedSlots:e._u([{key:"button",fn:function({content:i}){return[t("gl-button",{staticClass:"gl-align-baseline",attrs:{variant:"link",category:"tertiary","data-testid":"resend-button",loading:e.isSending,disabled:e.isSending},on:{click:function(){return e.resend()}}},[e._v("\n              "+e._s(i)+"\n            ")])]}}],null,!1,741489220)}):t("gl-sprintf",{key:"_vif_1_1",attrs:{message:e.$options.i18n.resendCodeIn},scopedSlots:e._u([{key:"timer",fn:function(){return[t("gl-countdown",{staticClass:"gl-inline-block",attrs:{"end-date-string":e.resendAfterDateString},on:{"timer-expired":e.onResendTimerExpired}})]},proxy:!0}])})]},proxy:!0}]),model:{value:e.values,callback:function(t){e.values=t},expression:"values"}}),e._v(" "),t("section",{staticClass:"gl-mt-5 gl-flex gl-flex-col gl-gap-3"},[t("gl-button",{staticClass:"js-no-auto-disable",attrs:{block:"",variant:"confirm",type:"submit",loading:!e.initialSendComplete,disabled:!e.initialSendComplete,"data-testid":"verify-code-button"}},[e._v(e._s(e.$options.i18n.submitButton))]),e._v(" "),t("gl-button",{attrs:{block:"","data-testid":"use-another-email-button"},on:{click:e.showAnotherEmailForm}},[e._v(e._s(e.$options.i18n.useAnotherEmailButton))]),e._v(" "),t("gl-button",{attrs:{block:"",href:e.newUserSessionPath(),"data-testid":"back-to-sign-in-button"}},[e._v(e._s(e.s__("TwoFactorAuth|Back to sign-in")))])],1)],1)],1)}),[],!1,null,null,null).exports},props:{path:{type:String,required:!0},adminMode:{type:Boolean,required:!1,default:!1},activeMethod:{type:String,required:!1,default:""},rememberMe:{type:String,required:!0},rememberMeEnabled:{type:Boolean,required:!0},webauthnEnabled:{type:Boolean,required:!0},totpEnabled:{type:Boolean,required:!0},emailEnabled:{type:Boolean,required:!0},webauthnParams:{type:Object,required:!1,default:null},sendEmailOtpPath:{type:String,required:!1,default:""},emailVerificationData:{type:Object,required:!1,default:null}},data(){return{method:this.activeMethod||this.defaultMethod()}},computed:{actionPath(){return Object(a.a)(this.path)}},methods:{defaultMethod(){return this.webauthnEnabled?"webauthn":this.totpEnabled?"totp":"email"},isMethod(e){return this.method===e},setMethod(e){this.method=e},onWebauthnNotSupported(){this.totpEnabled?this.setMethod("totp"):this.emailEnabled?this.setMethod("email"):this.setMethod("recovery")}}},J=Object(O.a)(U,(function(){var e=this,t=e._self._c;return t("div",[e.isMethod("webauthn")?t("webauthn-authentication",{attrs:{path:e.actionPath,"remember-me":e.rememberMe,"remember-me-enabled":e.rememberMeEnabled,"webauthn-params":e.webauthnParams,"totp-enabled":e.totpEnabled,"email-enabled":e.emailEnabled},on:{"switch-method":e.setMethod,"webauthn-not-supported":e.onWebauthnNotSupported}}):e.isMethod("totp")?t("totp-code",{attrs:{path:e.actionPath,"remember-me":e.rememberMe,"remember-me-enabled":e.rememberMeEnabled,"webauthn-enabled":e.webauthnEnabled,"email-enabled":e.emailEnabled},on:{"switch-method":e.setMethod}}):e.isMethod("email")?t("email-code",{attrs:{"send-email-otp-path":e.sendEmailOtpPath,"email-verification-data":e.emailVerificationData}}):e.isMethod("recovery")?t("recovery-code",{attrs:{path:e.actionPath,"admin-mode":e.adminMode,"remember-me":e.rememberMe,"remember-me-enabled":e.rememberMeEnabled}}):e._e()],1)}),[],!1,null,null,null).exports,W=i("wI/2"),H=i("42Qb"),Q={name:"WebAuthnAuthenticate",components:{GlForm:s.a,GlButton:o.a,EmailVerification:W.a,EmailOtpFallbackFooter:H.a},props:{webauthnParams:{type:Object,required:!0},targetPath:{type:String,required:!0},renderRememberMe:{type:Boolean,required:!0},rememberMe:{type:String,required:!0},sendEmailOtpPath:{type:String,required:!1,default:""},username:{type:String,required:!1,default:""},emailVerificationData:{type:Object,required:!1,default:null}},data:()=>({abortController:new AbortController,inProgress:!1,isAuthenticated:!1,errorMessage:"",errorName:"",deviceResponse:"",fallbackMode:!1,showEmailVerification:!1}),computed:{showFooter(){return Boolean(this.errorMessage)&&Boolean(this.sendEmailOtpPath)&&!this.showEmailVerification}},mounted(){this.isWebauthnSupported()?this.authenticate():this.switchToF
1allbackUI()},destroyed(){this.abortController.abort()},methods:{tryAgain(){this.errorMessage="",this.errorName="",this.authenticate()},switchToFallbackUI(){this.fallbackMode=!0,document.querySelector(".js-2fa-form").classList.remove("hidden")},isWebauthnSupported:()=>Object(q.i)(),formSubmit(){this.$refs.loginToken2faForm.$el.submit()},async authenticate(){this.inProgress=!0;try{const e=await navigator.credentials.get({publicKey:Object(q.f)(this.webauthnParams),signal:this.abortController.signal}),t=Object(q.g)(e);this.deviceResponse=JSON.stringify(t),this.isAuthenticated=!0,await this.$nextTick(),this.formSubmit()}catch(e){const t=new P.a(e,$.s);this.errorMessage=t.message(),this.errorName=t.errorName,this.isAuthenticated=!1}finally{this.inProgress=!1}},sendEmailOTPError({message:e,name:t}){this.abortController.abort(),this.errorMessage=e,this.errorName=t},sendEmailOTPSuccess(){this.abortController.abort(),this.showEmailVerification=!0,this.fallbackMode=!0}},csrf:f.a},Y=Object(O.a)(Q,(function(){var e=this,t=e._self._c;return t("div",[e.fallbackMode||e.showEmailVerification?e._e():t("div",{staticClass:"gl-text-center"},[e.inProgress?t("p",{attrs:{id:"js-authenticate-token-2fa-in-progress"}},[e._v("\n      "+e._s(e.__("Trying to communicate with your device. Plug it in (if you haven't already) and press the button on the device now."))+"\n    ")]):e._e(),e._v(" "),e.isAuthenticated?t("div",{attrs:{id:"js-authenticate-token-2fa-authenticated"}},[t("p",[e._v("\n        "+e._s(e.__("We heard back from your device. You have been authenticated."))+"\n      ")]),e._v(" "),t("gl-form",{ref:"loginToken2faForm",attrs:{id:"js-login-token-2fa-form",action:e.targetPath,method:"post","accept-charset":"UTF-8"}},[t("input",{attrs:{type:"hidden",name:"authenticity_token"},domProps:{value:e.$options.csrf.token}}),e._v(" "),t("input",{attrs:{type:"hidden",name:"user[device_response]"},domProps:{value:e.deviceResponse}}),e._v(" "),e.renderRememberMe?t("input",{attrs:{type:"hidden",name:"user[remember_me]"},domProps:{value:e.rememberMe}}):e._e()])],1):e._e(),e._v(" "),e.errorMessage?t("div",{staticClass:"gl-mb-3",attrs:{id:"js-authenticate-token-2fa-error"}},[t("p",[e._v(e._s(e.errorMessage)+" ("+e._s(e.errorName)+")")]),e._v(" "),t("gl-button",{attrs:{id:"js-token-2fa-try-again","data-testid":"confirm-2fa",block:!0},on:{click:e.tryAgain}},[e._v("\n        "+e._s(e.__("Try again?"))+"\n      ")])],1):e._e(),e._v(" "),t("gl-button",{attrs:{id:"js-login-2fa-device",category:"primary",variant:"confirm",block:!0,"data-testid":"authenticator-app-button"},on:{click:e.switchToFallbackUI}},[e._v("\n      "+e._s(e.__("Sign in via 2FA code"))+"\n    ")])],1),e._v(" "),e.showFooter?t("email-otp-fallback-footer",{attrs:{"send-email-otp-path":e.sendEmailOtpPath,username:e.username},on:{success:e.sendEmailOTPSuccess,error:e.sendEmailOTPError}}):e._e(),e._v(" "),e.showEmailVerification&&e.emailVerificationData?t("email-verification",e._b({},"email-verification",e.emailVerificationData,!1)):e._e()],1)}),[],!1,null,null,null).exports;const Z=function(){const e=document.getElementById("js-2fa");if(!e)return function(){const e=document.getElementById("js-authentication-webauthn");if(!e)return!1;const{targetPath:t,renderRememberMe:i,rememberMe:a,sendEmailOtpPath:o,username:s,emailVerificationData:l}=e.dataset;new n.default({el:e,name:"WebAuthnRoot",render:e=>e(Y,{props:{webauthnParams:JSON.parse(gon.webauthn.options),targetPath:t,renderRememberMe:Object(r.G)(i),rememberMe:a,sendEmailOtpPath:o,username:s,emailVerificationData:l&&Object(r.g)(JSON.parse(l))}})})}(),!1;const{path:t,adminMode:i,activeMethod:a,rememberMe:o,rememberMeEnabled:s,webauthnEnabled:l,totpEnabled:d,emailEnabled:u,sendEmailOtpPath:c,emailVerificationData:m}=e.dataset;return new n.default({el:e,name:"TwoFactorAuthenticationRoot",render(e){const n=m&&Object(r.g)(JSON.parse(m));return e(J,{props:{path:t,adminMode:Object(r.G)(i),activeMethod:a,rememberMe:o,rememberMeEnabled:Object(r.G)(s),webauthnEnabled:Object(r.G)(l),totpEnabled:Object(r.G)(d),emailEnabled:Object(r.G)(u),sendEmailOtpPath:c,emailVerificationData:n,webauthnParams:gon.webauthn?JSON.parse(gon.webauthn.options):{}}})}})}},L78D:function(e,t,i){"use strict";var n=i("ho4C"),r=i("v1ID"),a=i("yzEV"),o=(i("3UXl"),i("iyoE"),i("RFHG"),i("z6RN"),i("xuo1"),i("UezY"),i("hG7+"),i("n64d")),s=i("1nO5"),l=i("EXdk"),d=i("JId8"),u=i("/2q6"),c=i("CzA/"),m=i("4Ctn"),f=i("MGi3"),p=i("MHCW"),h=i("dJQL"),b=i("W1rz"),v=i("eOJu"),g=i("Cn4y"),y=i("WeGr"),_=i("tslw"),O=i("sl
1yf"),k=(i("aFm2"),i("R9qC"),i("zNqO")),w=i("jxyu"),j=i("Z48/");const E=["auto","start","end","center","baseline","stretch"],S=Object(w.a)((function(e,t,i){let n=e;if(!Object(h.o)(i)&&!1!==i)return t&&(n+="-"+t),"col"!==e||""!==i&&!0!==i?(n+="-"+i,Object(j.c)(n)):Object(j.c)(n)}));let F=Object(v.c)(null);const C={name:o.c,functional:!0,get props(){return delete this.props,this.props=function(){const e=Object(c.a)().filter(p.a),t=e.reduce((function(e,t){return e[t]=Object(g.a)(l.d),e}),Object(v.c)(null)),i=e.reduce((function(e,t){return e[Object(g.c)(t,"offset")]=Object(g.a)(l.f),e}),Object(v.c)(null)),n=e.reduce((function(e,t){return e[Object(g.c)(t,"order")]=Object(g.a)(l.f),e}),Object(v.c)(null));return F=Object(v.a)(Object(v.c)(null),{col:Object(v.h)(t),offset:Object(v.h)(i),order:Object(v.h)(n)}),Object(v.m)({...t,...i,...n,alignSelf:Object(g.a)(l.g,null,(function(e){return E.includes(e)})),col:Object(g.a)(l.c,!1),cols:Object(g.a)(l.f),offset:Object(g.a)(l.f),order:Object(g.a)(l.f),tag:Object(g.a)(l.g,"div")})}()},render(e,{props:t,data:i,children:n}){const{cols:r,offset:a,order:o,alignSelf:s}=t,l=[];for(const e in F){const i=F[e];for(let n=0;n<i.length;n++){const r=S(e,i[n].replace(e,""),t[i[n]]);r&&l.push(r)}}const u=l.some((function(e){return d.c.test(e)}));return l.push({col:t.col||!u&&!r,["col-"+r]:r,["offset-"+a]:a,["order-"+o]:o,["align-self-"+s]:s}),e(t.tag,Object(k.e)(i,{class:l}),n)}},A={tag:{type:l.g,required:!1,default:"div"}},V=Object(k.c)({name:o.n,functional:!0,props:A,render:(e,{props:t,data:i,children:n})=>e(t.tag,Object(k.e)(i,{staticClass:"form-row"}),n)}),x={id:{type:String,required:!1,default:void 0},inline:{type:Boolean,required:!1,default:!1},tag:{type:String,required:!1,default:"small"},textVariant:{type:String,required:!1,default:"muted"}},q=Object(k.c)({name:o.r,functional:!0,props:x,render:(e,{props:t,data:i,children:n})=>e(t.tag,Object(k.e)(i,{class:{"form-text":!t.inline,["text-"+t.textVariant]:t.textVariant},attrs:{id:t.id}}),n)}),$={ariaLive:{type:l.g,required:!1,default:void 0},forceShow:{type:l.c,required:!1,default:!1},id:{type:l.g,required:!1,default:void 0},role:{type:l.g,required:!1,default:void 0},state:{type:l.c,required:!1,default:null},tag:{type:l.g,required:!1,default:"div"},tooltip:{type:l.c,required:!1,default:!1}},P=Object(k.c)({name:o.m,functional:!0,props:$,render(e,{props:t,data:i,children:n}){const{tooltip:r,ariaLive:a}=t,o=!0===t.forceShow||!1===t.state;return e(t.tag,Object(k.e)(i,{class:{"!gl-block":o,"invalid-feedback":!r,"invalid-tooltip":r},attrs:{id:t.id||null,role:t.role||null,"aria-live":a||null,"aria-atomic":a?"true":null}}),n)}}),T={ariaLive:{type:l.g,required:!1,default:void 0},forceShow:{type:l.c,required:!1,default:!1},id:{type:l.g,required:!1,default:void 0},role:{type:l.g,required:!1,default:void 0},state:{type:l.c,required:!1,default:null},tag:{type:l.g,required:!1,default:"div"},tooltip:{type:l.c,required:!1,default:!1}},I=Object(k.c)({name:o.s,functional:!0,props:T,render(e,{props:t,data:i,children:n}){const{tooltip:r,ariaLive:a}=t,o=!0===t.forceShow||!0===t.state;return e(t.tag,Object(k.e)(i,{class:{"!gl-block":o,"valid-feedback":!r,"valid-tooltip":r},attrs:{id:t.id||null,role:t.role||null,"aria-live":a||null,"aria-atomic":a?"true":null}}),n)}}),G=["input","select","textarea"],R=G.map((function(e){return e+":not([disabled])"})).join(),M=[...G,"a","button","label"];var B={name:"GlFormGroup",components:{BFormGroup:{name:o.l,mixins:[_.a,y.a,O.a],get props(){return delete this.props,this.props=Object(v.m)({..._.b,...y.b,...Object(c.a)().reduce((function(e,t){return e[Object(g.c)(t,"contentCols")]=Object(g.a)(l.d),e[Object(g.c)(t,"labelAlign")]=Object(g.a)(l.g),e[Object(g.c)(t,"labelCols")]=Object(g.a)(l.d),e}),Object(v.c)(null)),description:{type:String,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:!1},feedbackAriaLive:{type:String,required:!1,default:"assertive"},invalidFeedback:{type:String,required:!1,default:void 0},label:{type:String,required:!1,default:void 0},labelClass:{type:[Array,Object,String],required:!1,default:void 0},labelFor:{type:String,required:!1,default:void 0},labelId:{type:String,required:!1,default:void 0},labelSize:{type:String,required:!1,default:void 0},labelSrOnly:{type:Boolean,required:!1,default:!1},tooltip:{type:Boolean,required:!1,default:!1},validFeedback:{type:String,required:!1,default:void 0},validated:{type:Boolean,required:!1,default:!1}})},data:()=>({ariaDescribedby:null}),computed:{contentColProps(){return this.getColProps(this.$props,"content")},labelAlignClasses(){return this.getAlignClasses(this.$props,"label")},labelColProps(){return this.getColProps(this.$props,"label")},isHorizontal(){return Object(v.h)(this.contentColProps).length>0||Object(v.h)(this.labelColProps).length>0}},watch:{ariaDescribedby(e,t){e!==t&&this.updateAriaDescribedby(e,t)}},mounted(){var e=this;this.$nextTick((function(){e.updateAriaDescribedby(e.ariaDescribedby)}))},methods:{getAlignClasses:(e,t)=>Object(c.a)().reduce((function(i,n){const r=e[Object(g.c)(n,t+"Align")]||null;return r&&i.push(["text",n,r].filter(p.a).join("-")),i}),[]),getColProps:(e,t)=>Object(c.a)().reduce((function(i,n){let r=e[Object(g.c)(n,t+"Cols")];
1return r=""===r||(r||!1),Object(h.b)(r)||"auto"===r||(r=Object(b.b)(r,0),r=r>0&&r),r&&(i[n||(Object(h.b)(r)?"col":"cols")]=r),i}),{}),updateAriaDescribedby(e,t){const{labelFor:i}=this;if(s.e&&i){const n=Object(f.B)("#"+Object(m.a)(i),this.$refs.content);if(n){const i="aria-describedby",r=(e||"").split(d.o),a=(t||"").split(d.o),o=(Object(f.h)(n,i)||"").split(d.o).filter((function(e){return!a.includes(e)})).concat(r).filter((function(e,t,i){return i.indexOf(e)===t})).filter(p.a).join(" ").trim();o?Object(f.D)(n,i,o):Object(f.x)(n,i)}}},onLegendClick(e){if(this.labelFor)return;const{target:t}=e,i=t?t.tagName:"";if(-1!==M.indexOf(i))return;const n=Object(f.C)(R,this.$refs.content).filter(f.v);1===n.length&&Object(f.d)(n[0])}},render(e){const{computedState:t,feedbackAriaLive:i,isHorizontal:n,labelFor:r,normalizeSlot:a,safeId:o,tooltip:s}=this,l=o(),d=!r;let c=e();const m=a(u.j)||this.label,f=m?this.labelId||o("_BV_label_"):null;if(m||n){const{labelSize:t,labelColProps:i}=this,a=d?"legend":"label";this.labelSrOnly?(m&&(c=e(a,{class:"gl-sr-only",attrs:{id:f,for:r||null}},[m])),c=e(n?C:"div",{props:n?i:{}},[c])):c=e(n?C:a,{on:d?{click:this.onLegendClick}:{},props:n?{...i,tag:a}:{},attrs:{id:f,for:r||null,tabindex:d?"-1":null},class:[d?"bv-no-focus-ring":"",n||d?"col-form-label":"",!n&&d?"!gl-pt-0":"",n||d?"":"!gl-block",t?"col-form-label-"+t:"",this.labelAlignClasses,this.labelClass]},[m])}let h=e();const b=a(u.i)||this.invalidFeedback,v=b?o("_BV_feedback_invalid_"):null;b&&(h=e(P,{props:{ariaLive:i,id:v,state:t,tooltip:s},attrs:{tabindex:b?"-1":null}},[b]));let g=e();const y=a(u.C)||this.validFeedback,_=y?o("_BV_feedback_valid_"):null;y&&(g=e(I,{props:{ariaLive:i,id:_,state:t,tooltip:s},attrs:{tabindex:y?"-1":null}},[y]));let O=e();const k=a(u.e)||this.description,w=k?o("_BV_description_"):null;k&&(O=e(q,{attrs:{id:w,tabindex:"-1"}},[k]));const j=this.ariaDescribedby=[w,!1===t?v:null,!0===t?_:null].filter(p.a).join(" ")||null,E=e(n?C:"div",{props:n?this.contentColProps:{},ref:"content"},[a(u.d,{ariaDescribedby:j,descriptionId:w,id:l,labelId:f})||e(),h,g,O]);return e(d?"fieldset":n?V:"div",{staticClass:"form-group",class:[{"was-validated":this.validated},this.stateClass],attrs:{id:l,disabled:d?this.disabled:null,role:d?null:"group","aria-invalid":this.computedAriaInvalid,"aria-labelledby":d&&n?f:null}},n&&d?[e(V,[c,E])]:[c,E])}}},provide(){var e=this;return{getFormGroupInstance:function(){return e}}},inheritAttrs:!1,props:{labelClass:{type:[String,Array,Object],required:!1,default:null},labelDescription:{type:String,required:!1,default:""},optional:{type:Boolean,required:!1,default:!1},optionalText:{type:String,required:!1,default:"(optional)"}},data:()=>({labelId:Object(n.a)("gl-form-group-label-")}),computed:{actualLabelClass(){const{labelClass:e}=this;return Object(r.a)(e)?e+" col-form-label":Array.isArray(e)?[...e,"col-form-label"]:Object(a.a)(e)?{...e,"col-form-label":!0}:"col-form-label"},hasLabelDescription(){return Boolean(this.labelDescription||this.$slots["label-description"])}}},D=i("tBpV"),L=Object(D.a)(B,(function(){var e=this,t=e._self._c;return t("b-form-group",e._b({staticClass:"gl-form-group",attrs:{"label-class":e.actualLabelClass,"label-id":e.labelId},scopedSlots:e._u([e.$attrs.label||e.$scopedSlots.label?{key:"label",fn:function(){return[e._t("label",(function(){return[e._v("\n      "+e._s(e.$attrs.label)+"\n      "),e.optional?t("span",{staticClass:"optional-label",attrs:{"data-testid":"optional-label"}},[e._v(e._s(e.optionalText))]):e._e()]})),e._v(" "),e.hasLabelDescription?t("div",{staticClass:"label-description",attrs:{"data-testid":"label-description"}},[e._t("label-description",(function(){return[e._v(e._s(e.labelDescription))]}))],2):e._e()]},proxy:!0}:null,e._l(Object.keys(e.$slots),(function(t){return{key:t,fn:function(){return[e._t(t)]},proxy:!0}}))],null,!0)},"b-form-group",e.$attrs,!1))}),[],!1,null,null,null);t.a=L.exports},OMfv:function(e,t,i){"use strict";i("3UXl"),i("iyoE"),i("UezY"),i("z6RN"),i("hG7+"),i("ZzK0"),i("BzOf"),i("LdIe"),i("PTOk");var n=i("c8MV"),r=i("OjPt"),a=i("ho4C"),o=i("L78D"),s=i("hvGG"),l=i("674C"),d=i("lQ1R"),u=i("ewH8"),c={name:"GlFormFieldsLoop",props:{fields:{type:Object,required:!0}},render(e){var t=this;const{Fragment:i}=u.default;return e("div",i?Object.entries(this.fields).map((function([n,r]){return e(i,{key:r.id},t.$scopedSlots.default({fieldName:n,field:r}))}
1)):Object.entries(this.fields).map((function([e,i]){return t.$scopedSlots.default({fieldName:e,field:i})})))}},m=i("tBpV"),f=Object(m.a)(c,void 0,void 0,!1,null,null,null).exports,p={name:"GlFormFields",components:{GlFormGroup:o.a,GlFormInput:s.a,GlFormFieldValidator:d.a,GlFormFieldsLoop:f},model:{prop:"values",event:"input"},props:{fields:{type:Object,required:!0},values:{type:Object,required:!0},formId:{type:String,required:!0},serverValidations:{type:Object,required:!1,default:()=>({})},validateOnBlur:{type:Boolean,required:!1,default:!0}},data:()=>({fieldDirtyStatuses:{},fieldValidations:{},fieldIds:{}}),computed:{formElement(){return document.getElementById(this.formId)},fieldValidationProps(){var e=this;return Object(n.a)(this.fields,(function(t,i){const n=e.serverValidations[i]||e.fieldValidations[i]||"";return{invalidFeedback:n,state:!n&&null}}))},fieldValues(){var e=this;return Object(n.a)(this.fields,(function(t,i){return i in e.values?e.values[i]:e.getMappedValue(i,void 0)}))},fieldNames(){return Object.keys(this.fields)},fieldsToRender(){var e=this;return Object(n.a)(this.fields,(function(t,i){const n=e.memoizeAndReturnFieldId(t,i),r=`group(${i})-`,a=`after(${i})`,o={slotName:`input(${i})`,attrs:{value:e.fieldValues[i],input:function(t){return e.onFieldInput(i,t)},blur:function(){return e.onFieldBlur(i)},validation:e.fieldValidationProps[i],id:n}},s=Object.keys(e.$scopedSlots).filter((function(e){return e.startsWith(r)})).map((function(e){const t=e.replace(r,"");return{slotName:e,childSlotName:t}}));return{...t,id:n,label:e.getFieldLabel(t,i),inputSlot:o,groupPassthroughSlots:s,afterSlotName:a}}))}},mounted(){var e;this.$emit("input",this.fieldValues),null===(e=this.formElement)||void 0===e||e.addEventListener("submit",this.onFormSubmission)},created(){this.batchedInputEvent={},this.isBatchedInputEventScheduled=!1},destroyed(){var e;null===(e=this.formElement)||void 0===e||e.removeEventListener("submit",this.onFormSubmission)},methods:{setFieldDirty(e){this.fieldDirtyStatuses=Object(l.a)(this.fieldDirtyStatuses,e,!0)},setAllFieldsDirty(){var e=this;this.fieldNames.forEach((function(t){return e.setFieldDirty(t)}))},hasAllFieldsValid(){var e=this;return this.fieldNames.every((function(t){return!e.fieldValidations[t]}))},async checkBeforeSubmission(){return this.setAllFieldsDirty(),await this.$nextTick(),this.hasAllFieldsValid()},getFieldLabel(e,t){if(null!==e.label)return e.label||t},getMappedValue(e,t){const i=this.fields[e];return Object(r.a)(null==i?void 0:i.mapValue)?i.mapValue(t):t},memoizeAndReturnFieldId(e,t){const i=this.fieldIds[t];if(i)return i;const n=e.id||Object(a.a)("gl-form-field-");return this.fieldIds[t]=n,n},onFieldValidationUpdate(e,t){this.fieldValidations=Object(l.a)(this.fieldValidations,e,t),this.$emit("field-validation",{fieldName:e,...this.fieldValidationProps[e]})},onFieldBlur(e){this.validateOnBlur&&this.setFieldDirty(e)},async onFieldInput(e,t){const i=this.getMappedValue(e,t);this.$emit("input-field",{name:e,value:i}),this.batchedInputEvent={...this.batchedInputEvent,[e]:i},this.isBatchedInputEventScheduled||(this.isBatchedInputEventScheduled=!0,await this.$nextTick(),this.$emit("input",{...this.values,...this.batchedInputEvent}),this.batchedInputEvent={},this.isBatchedInputEventScheduled=!1)},async onFormSubmission(e){e.preventDefault();await this.checkBeforeSubmission()&&this.$emit("submit",e)}}},h=Object(m.a)(p,(function(){var e=this,t=e._self._c;return t("gl-form-fields-loop",{attrs:{fields:e.fieldsToRender},scopedSlots:e._u([{key:"default",fn:function({field:i,fieldName:n}){return[t("gl-form-group",e._b({key:i.id,attrs:{label:i.label,"label-for":i.fieldset?void 0:i.id,"invalid-feedback":e.fieldValidationProps[n].invalidFeedback,state:e.fieldValidationProps[n].state},scopedSlots:e._u([e._l(i.groupPassthroughSlots,(function({slotName:t,childSlotName:i}){return{key:i,fn:function(){return[e._t(t)]},proxy:!0}}))],null,!0)},"gl-form-group",i.groupAttrs,!1),[t("gl-form-field-validator",{attrs:{value:e.fieldValues[n],validators:i.validators,"should-validate":e.fieldDirtyStatuses[n]},on:{update:function(t){return e.onFieldValidationUpdate(n,t)}}}),e._v(" "),e._v(" "),e._t(i.inputSlot.slotName,(function(){return[t("gl-form-input",e._b({attrs:{id:i.id,value:e.fieldValues[n],state:e.fieldValidationProps[n].state},on:{input:function(t){return e.onFieldInput(n,t)},blur:function(t){return e.onFieldBlur(n)}}},"gl-form-input",i.inputAttrs,!1))]}),null,i.inputSlot.attrs)],2),e._v(" "),e._t(i.afterSlotName)]}}],null,!0)})}),[],!1,null,null,null);t.a=h.exports},VuQQ:function(e,t,i){"use strict";var n=i("zIFf"),r=i("bOix"),a={name:"GlCountdown",directives:{GlTooltip:n.a},props:{endDateString:{type:String,required:!0,validator:e=>!Number.isNaN(new Date(e).getTime())}},emits:["timer-expired"],data:()=>({remainingTime:Object(r.q)(0),countdownUpdateIntervalId:null}),mounted(){var e=this;const t=function(){const t=Object(r.e)(e.endDateString);t<1&&e.$emit("timer-expired"),e.remainingTime=Object(r.q)(t)};t(),this.countdownUpdateIntervalId=window.setInterval(t,1e3)},beforeDestroy(){window.clearInterval(this.countdownUpdateIntervalId)}},o=i("tBpV"),s=Object(o.a)(a,(function(){return(0,this._self._c)("time",{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{datetime:this.endDateString,title:this.endDateString}},[this._v(" "+this._s(this.remainingTime)+" ")])}),[],!1,null,null,null);t.a=s.exports},WeGr:function(e,t,i){"use strict";i.d(t,"b",(function(){return o}
1)),i.d(t,"a",(function(){return s}));var n=i("zNqO"),r=i("dJQL"),a=i("fCkf");const o={state:{type:Boolean,required:!1,default:null}},s=Object(n.c)({props:o,computed:{computedState(){return Object(r.b)(this.state)?this.state:null},stateClass(){const e=this.computedState;return!0===e?"is-valid":!1===e?"is-invalid":null},computedAriaInvalid(){const e=Object(a.a)(this).ariaInvalid;return!0===e||"true"===e||""===e||!1===this.computedState?"true":e}}})},Xz4k:function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var n={};i.r(n),i.d(n,"factory",(function(){return o})),i.d(n,"required",(function(){return s})),i.d(n,"noEmojis",(function(){return l}));var r=i("N6Fp");const a=Object(r.a)(),o=function(e,t){return function(i){return t(i)?"":e}},s=function(e){return o(e,(function(e){return""!==e&&null!=e}))},l=function(e){return o(e,(function(e){var t,i;if(!e||"string"!=typeof e)return!0;return(null!==(t=null===(i=e.match(a))||void 0===i?void 0:i.length)&&void 0!==t?t:0)<1}))}},jxyu:function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var n=i("eOJu");const r=function(e){const t=Object(n.c)(null);return function(...i){const n=JSON.stringify(i);return t[n]=t[n]||e.apply(null,i)}}},lQ1R:function(e,t,i){"use strict";i("RFHG"),i("z6RN"),i("xuo1");var n={name:"GlFormFieldValidator",props:{value:{required:!0,validator:function(){return!0}},validators:{type:Array,required:!1,default:function(){return[]}},shouldValidate:{type:Boolean,required:!1,default:!1}},computed:{invalidFeedback(){var e=this;if(!this.shouldValidate)return"";return this.validators.reduce((function(t,i){return t||i(e.value)}),"")||""}},watch:{invalidFeedback(e){this.$emit("update",e)}},render:()=>null},r=i("tBpV"),a=Object(r.a)(n,void 0,void 0,!1,null,null,null);t.a=a.exports},lhE0:function(e,t,i){"use strict";i.d(t,"s",(function(){return a})),i.d(t,"h",(function(){return o})),i.d(t,"k",(function(){return s})),i.d(t,"d",(function(){return l})),i.d(t,"f",(function(){return d})),i.d(t,"q",(function(){return u})),i.d(t,"l",(function(){return c})),i.d(t,"b",(function(){return m})),i.d(t,"m",(function(){return f})),i.d(t,"p",(function(){return p})),i.d(t,"g",(function(){return h})),i.d(t,"i",(function(){return b})),i.d(t,"c",(function(){return v})),i.d(t,"n",(function(){return g})),i.d(t,"j",(function(){return y})),i.d(t,"o",(function(){return _})),i.d(t,"a",(function(){return O})),i.d(t,"e",(function(){return k})),i.d(t,"t",(function(){return w})),i.d(t,"r",(function(){return j}));var n=i("xPX6"),r=i("/lV4");const a=n.g+"/support/",o=Object(r.i)("IdentityVerification|You are signed in as %{username}. For added security, you'll need to verify your identity. We've sent a verification code to %{email}"),s=Object(r.i)("IdentityVerification|Verification code"),l=Object(r.i)("IdentityVerification|Enter a code."),d=Object(r.i)("IdentityVerification|Please enter a valid code"),u=Object(r.i)("IdentityVerification|Verify code"),c=Object(r.i)("IdentityVerification|Resend code"),m=Object(r.i)("IdentityVerification|Didn't get the code? %{buttonStart}Resend code%{buttonEnd}."),f=Object(r.i)("IdentityVerification|Didn't get the code? You can resend in %{timer}."),p=Object(r.i)("IdentityVerification|Skip for now"),h=Object(r.i)("IdentityVerification|A new code is on its way. If it doesn't arrive, check your spam folder."),b=Object(r.i)("IdentityVerification|Something went wrong. Please try again."),v=Object(r.a)("Email"),g=Object(r.i)("IdentityVerification|send a code to another address associated with this account"),y=Object(r.i)("IdentityVerification|If you don't have access to the primary email address, you can %{sendToSecondaryEmailButtonStart}%{sendToSecondaryEmailButtonEnd}, or you can %{supportLinkStart}try to verify another way.%{supportLinkEnd}"),_=Object(r.i)("IdentityVerification|Enter a verified email address associated with this account. A new code will be sent to this address."),O=Object(r.a)("Cancel"),k=Object(r.i)("IdentityVerification|Please enter a valid email address."),w=/^\d{6}$/,j="success"},"wI/2":function(e,t,i){"use strict";
1var n=i("dIEn"),r=i("nrbW"),a=i("L78D"),o=i("hvGG"),s=i("CbCZ"),l=i("Jx7q"),d=i("sHIo"),u=i("3twG"),c=i("V5hC"),m=i("jlnU"),f=i("2ibD"),p=i("VuQQ"),h=i("GVjJ"),b=i("lhE0"),v=i("EIEn");var g={name:"EmailVerification",components:{GlSprintf:n.a,GlForm:r.a,GlFormGroup:a.a,GlFormInput:o.a,GlButton:s.a,GlLink:l.a,GlCountdown:p.a,EmailForm:v.a},mixins:[Object(d.a)()],props:{username:{type:String,required:!0},obfuscatedEmail:{type:String,required:!0},verifyPath:{type:String,required:!0},resendPath:{type:String,required:!0},skipPath:{type:String,required:!1,default:null},initialShowResendAfter:{type:Number,required:!1,default:null}},data(){return{email:this.obfuscatedEmail,verificationCode:"",submitted:!1,verifyError:"",activeForm:"VERIFY_TOKEN_FORM",showResendAfter:this.initialShowResendAfter}},computed:{showResend(){return new Date(this.showResendAfter)<=new Date},resendAfterDateString(){return this.showResendAfter?new Date(this.showResendAfter).toString():null},inputValidation(){return{state:!(this.submitted&&this.invalidFeedback),message:this.invalidFeedback}},invalidFeedback(){return this.submitted?this.verificationCode?b.t.test(this.verificationCode)?this.verifyError:b.f:b.d:""}},watch:{verificationCode(){this.verifyError=""}},methods:{verify(){this.submitted=!0,this.inputValidation.state&&f.a.post(this.verifyPath,{user:{verification_token:this.verificationCode}}).then(this.handleVerificationResponse).catch(this.handleVerifyError)},handleVerificationResponse(e){e.data.status===b.r?Object(u.T)(Object(c.a)(e.data.redirect_path)):this.handleError()},handleVerifyError(e){var t;const i=null==e||null===(t=e.response)||void 0===t?void 0:t.data;null!=i&&i.message?this.verifyError=i.message:this.handleError(e)},resend(e=""){f.a.post(this.resendPath,{user:{email:e}}).then(this.handleResendResponse).catch(this.handleResendError).finally(this.resetForm)},sendToSecondaryEmail(e){this.verifyToken(e),this.resend(e)},skip(){this.skipPath&&f.a.post(this.skipPath,{user:{login:this.username}}).then(this.handleSkipResponse).catch(this.handleSkipError)},handleSkipResponse(e){e.data.status===b.r?Object(u.T)(Object(c.a)(e.data.redirect_path)):this.handleError()},handleSkipError(e){var t;const i=null==e||null===(t=e.response)||void 0===t?void 0:t.data;null!=i&&i.message?Object(m.createAlert)({message:i.message}):this.handleError(e)},handleResendResponse(e){var t;e.data.status===b.r?(this.showResendAfter=null!==(t=e.data.show_resend_after)&&void 0!==t?t:null,Object(m.createAlert)({message:b.g,variant:m.VARIANT_SUCCESS})):this.handleError()},handleResendError(e){var t;const i=null==e||null===(t=e.response)||void 0===t?void 0:t.data;null!=i&&i.message?Object(m.createAlert)({message:i.message}):this.handleError(e)},onResendTimerExpired(){this.showResendAfter=null},handleError(e){Object(m.createAlert)({message:b.i,captureError:!0,error:e})},resetForm(){this.verificationCode="",this.submitted=!1,this.$refs.input.$el.focus()},verifyToken(e=""){this.activeForm=this.$options.forms.verifyTokenForm,e.length&&(this.email=e),this.$nextTick(this.resetForm)}},i18n:{explanation:b.h,inputLabel:b.k,submitButton:b.q,didntGetCoderesendLink:b.b,resendCodeIn:b.m,resendCode:b.l,helpText:b.j,sendToSecondaryEmailButtonText:b.n,sendToSecondaryEmailGuide:b.o,skipForNowButton:b.p,supportUrl:b.s},forms:{verifyTokenForm:"VERIFY_TOKEN_FORM",sendToSecondaryEmailForm:"SEND_TO_SECONDARY_EMAIL_FORM"},passwordManagerIgnoreAttrs:h.a},y=i("tBpV"),_=Object(y.a)(g,(function(){var e=this,t=e._self._c;return t("div",[e.activeForm===e.$options.forms.sendToSecondaryEmailForm?t("email-form",{attrs:{"form-info":e.$options.i18n.sendToSecondaryEmailGuide,"submit-text":e.$options.i18n.resendCode},on:{"submit-email":e.sendToSecondaryEmail,cancel:e.verifyToken}}):e.activeForm===e.$options.forms.verifyTokenForm?t("gl-form",{on:{submit:function(t){return t.preventDefault(),e.verify.apply(null,arguments)}}},[t("section",{staticClass:"gl-mb-5"},[t("gl-sprintf",{attrs:{message:e.$options.i18n.explanation},scopedSlots:e._u([{key:"username",fn:function(){return[e._v(e._s(e.username))]},proxy:!0},{key:"email",fn:function(){return[t("strong",[e._v(e._s(e.email))])]},proxy:!0}])})],1),e._v(" "),t("gl-form-group",{attrs:{label:e.$options.i18n.inputLabel,"label-for":"verification-code",state:e.inputValidation.state,"invali
1d-feedback":e.inputValidation.message},scopedSlots:e._u([{key:"description",fn:function(){return[e.showResend?t("gl-sprintf",{key:"_vif_1_0",attrs:{message:e.$options.i18n.didntGetCoderesendLink},scopedSlots:e._u([{key:"button",fn:function({content:i}){return[t("gl-button",{attrs:{variant:"link",category:"tertiary"},on:{click:function(){return e.resend()}}},[e._v("\n              "+e._s(i)+"\n            ")])]}}],null,!1,2164178607)}):t("gl-sprintf",{key:"_vif_1_1",attrs:{message:e.$options.i18n.resendCodeIn},scopedSlots:e._u([{key:"timer",fn:function(){return[t("gl-countdown",{staticClass:"gl-inline-block",attrs:{"end-date-string":e.resendAfterDateString},on:{"timer-expired":e.onResendTimerExpired}})]},proxy:!0}])})]},proxy:!0}])},[t("gl-form-input",e._b({ref:"input",attrs:{id:"verification-code",autocomplete:"one-time-code",autofocus:"","data-testid":"verification-code-field",inputmode:"numeric",maxlength:"6",state:e.inputValidation.state},model:{value:e.verificationCode,callback:function(t){e.verificationCode=t},expression:"verificationCode"}},"gl-form-input",e.$options.passwordManagerIgnoreAttrs,!1))],1),e._v(" "),t("section",{staticClass:"gl-mt-5"},[t("gl-button",{staticClass:"js-no-auto-disable",attrs:{block:"",variant:"confirm",type:"submit",disabled:!e.inputValidation.state}},[e._v(e._s(e.$options.i18n.submitButton))])],1),e._v(" "),t("section",{staticClass:"gl-mt-3"},[e.skipPath?t("gl-button",{attrs:{block:"",variant:"link"},on:{click:e.skip}},[e._v("\n        "+e._s(e.$options.i18n.skipForNowButton)+"\n      ")]):e._e()],1),e._v(" "),t("p",{staticClass:"gl-mt-3 gl-text-subtle"},[t("gl-sprintf",{attrs:{message:e.$options.i18n.helpText},scopedSlots:e._u([{key:"sendToSecondaryEmailButton",fn:function(){return[t("gl-button",{staticClass:"gl-align-baseline",attrs:{variant:"link"},on:{click:function(){return e.activeForm=e.$options.forms.sendToSecondaryEmailForm}}},[e._v(e._s(e.$options.i18n.sendToSecondaryEmailButtonText))])]},proxy:!0},{key:"supportLink",fn:function({content:i}){return[t("gl-link",{attrs:{href:e.$options.i18n.supportUrl,target:"_blank"}},[e._v(e._s(i))])]}}])})],1)],1):e._e()],1)}),[],!1,null,null,null);t.a=_.exports}}]);
2//# sourceMappingURL=commons-pages.admin.sessions-pages.ldap.omniauth_callbacks-pages.omniauth_callbacks-pages.sessions-p-ea3be603.706284b3.chunk.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.