PageSourceSearch

https://auth.debrif.app/_next/static/chunks/pages/ja/create_mfa-9cb3dc1e24563d90.js

js debrif.app collected 2026-09-24 14:31:54 UTC 14,779 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2198],{43523:function(e,r,t){"use strict";t.d(r,{M:function(){return h}});var s=t(67294),n=t(64761),a=t(48427),o=(0,t(56817).k)((e,{inline:r})=>({root:{display:r?"inline-flex":"flex",alignItems:"center",justifyContent:"center"}})),l=t(64523),i=Object.defineProperty,c=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,r,t)=>r in e?i(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,__spreadValues=(e,r)=>{for(var t in r||(r={}))u.call(r,t)&&__defNormalProp(e,t,r[t]);if(c)for(var t of c(r))d.call(r,t)&&__defNormalProp(e,t,r[t]);return e},__objRest=(e,r)=>{var t={};for(var s in e)u.call(e,s)&&0>r.indexOf(s)&&(t[s]=e[s]);if(null!=e&&c)for(var s of c(e))0>r.indexOf(s)&&d.call(e,s)&&(t[s]=e[s]);return t};let m=(0,s.forwardRef)((e,r)=>{let t=(0,n.N4)("Center",{},e),{inline:a,className:i,unstyled:c,variant:u}=t,d=__objRest(t,["inline","className","unstyled","variant"]),{classes:m,cx:h}=o({inline:a},{name:"Center",unstyled:c,variant:u});return s.createElement(l.x,__spreadValues({ref:r,className:h(m.root,i)},d))});m.displayName="@mantine/core/Center";let h=(0,a.F)(m)},71298:function(e,r,t){"use strict";function px(e){return"number"==typeof e?e:"string"==typeof e?e.includes("px")?Number(e.replace("px","")):e.includes("rem")?16*Number(e.replace("rem","")):Number(e):NaN}t.d(r,{px:function(){return px}})},93180:function(e,r,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/ja/create_mfa",function(){return t(47336)}])},5957:function(e,r,t){"use strict";t.d(r,{x:function(){return apiLogout}});var s=t(11163),n=t.n(s),a=t(1448);let apiLogout=()=>(0,a.j0)("/api/v1/logout",{}).then(e=>{e.ok?e.json().then(e=>{e.redirect_to?window.location.href=e.redirect_to:window.location.href="/"}):n().reload()})},28279:function(e,r,t){"use strict";t.d(r,{$:function(){return useLogoutHandler}});var s=t(5957),n=t(70781);let useLogoutHandler=()=>{let{posthogClient:e}=(0,n.r)(),handleLogout=async()=>{e&&e.reset(),await (0,s.x)()};return handleLogout}},47336:function(e,r,t){"use strict";t.r(r),t.d(r,{__N_SSP:function(){return I},default:function(){return create_mfa}});var s=t(85893),n=t(67841),a=t(67294),o=t(40423),l=t(31908),i=t(95117),c=t(97564),u=t(54777),d=t(77610),m=t(9199),h=t(35336),f=t(15480);let g=[{title:"認証アプリ",description:"アプリを使用してセキュリティコードを取得する",icon:d.Z,key:"totp"},{title:"SMS",description:"本人確認のためコードをテキストでお送りします",icon:m.Z,key:"phone"},{title:"パスキー",description:"デジタルまたは物理的なパスキー",icon:h.Z,key:"passkey"}];var JapaneseMfaOptionSelect=e=>{let{isFrameless:r,mfaOptionsEnabled:t,setMfaOption:n}=e;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.x,{children:"あなたが所属する組織では、2要素認証が必須となっています。2要素認証では、通常のログインに加えて2つ目の認証方法が必要となるため、アカウントのセキュリティが強化されます。"}),(0,s.jsx)(c.K,{spacing:"lg",mt:"xl",children:g.filter(e=>t[e.key]).map((e,t)=>(0,s.jsxs)(a.Fragment,{children:[0!==t&&(0,s.jsx)(u.i,{}),(0,s.jsx)(f.Z,{renderForLogin:!0,isFrameless:r,option:e,setMfaOption:n})]},e.title))})]})},x=t(80061),p=t(66137),_=t(20966),j=t(77248),b=t(33575),y=t(64090),w=t(11163),S=t(22730),C=t(61464),N=t(74729),v=t(54070),F=t(95427),JapanesePasskeyMfaEnrollment=e=>{let{isFrameless:r,textInputVariant:t,isLoading:o,setIsLoading:l,handleBack:u}=e,d=(0,w.useRouter)(),{classes:m}=(0,F.fc)(),[h,f]=(0,a.useState)(!1),g=(0,j.c)({initialValues:{display_name:""}}),B=!u,handleSubmit=async e=>{l(!0);try{let r=await (0,S.C)({displayName:e.display_name}),t=await (0,y.RQ)({optionsJSON:r.publicKey});await (0,S.Z)(t),f(!0),setTimeout(()=>d.push("/ja/login"),1500)}catch(e){l(!1),e instanceof C.y2?e.user_facing_errors?g.setErrors(e.user_facing_errors):b.N9.show({title:"エラー",message:e.user_facing_error,color:v.xR.ErrorButtonColor,classNames:m}):e instanceof Error?b.N9.show({title:"エラー",message:e.message,color:v.xR.ErrorButtonColor,classNames:m}):(b.N9.show({title:"エラー",message:N.w,color:v.xR.ErrorButtonColor,classNames:m}),console.error(e))}};return(0,s.jsx)(c.K,{children:h?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.x,{fw:"bold",size:"lg",children:"成功"}),(0,s.jsxs)(i.x,{children:["パスキー",(0,s.jsx)(i.x,{span:!0,fw:"bold",children:g.values.display_name}),"がMFAに登録されました。まもなくリダイレクトされます。"]})]}):(0,s.jsxs)("form",{onSubmit:g.onSubmit(handleSubmit),children:[(0,s.jsxs)(i.x,{mb:"lg",children:[B?"あなたが所属する組織では、2要素è
1ªè¨¼ãŒå¿…須となっています。2要素認証では、通常のログインに加えてコードの入力が必要となるため、アカウントのセキュリティが強化されます。":"","今後 MFA 認証に使用する新しいパスキーを登録します。"]}),(0,s.jsx)(x.o,{mb:"xl",mt:"lg",disabled:o,label:"パスキー名",variant:t,...g.getInputProps("display_name")}),o?(0,s.jsxs)(p.Z,{position:"center",noWrap:!0,children:[(0,s.jsx)(_.a,{size:"sm",color:r?v.xR.LoginBackgroundTextColor:v.xR.LoginForegroundTextColor}),(0,s.jsx)(i.x,{children:"ブラウザの操作を待機しています..."})]}):(0,s.jsxs)(p.Z,{grow:!0,noWrap:!0,mt:"xl",children:[!B&&(0,s.jsx)(n.z,{disabled:o,variant:r?v.Bq.LoginFramelessOutlineCancel:v.Bq.LoginOutlineCancel,onClick:u,children:"戻る"}),(0,s.jsx)(n.z,{disabled:0===g.values.display_name.length,variant:v.Bq.LoginPrimary,type:"submit",children:"パスキーを登録する"})]})]})})},B=t(43523),k=t(52882),E=t(19510),L=t(1448),z=t(32630),M=t(24556),JapaneseSmsMfaEnrollment=e=>{let{isFrameless:r,textInputVariant:t,isLoading:o,setIsLoading:l,handleBack:u}=e,d=(0,w.useRouter)(),{classes:m}=(0,F.fc)(),[h,f]=(0,a.useState)(""),[g,x]=(0,a.useState)(""),[_,j]=(0,a.useState)(""),y=!!_,[S,N]=(0,a.useState)(),[O,A]=(0,a.useState)(),[R,P]=(0,a.useState)(!1),q=r?v.Bq.LoginFramelessOutline:v.Bq.LoginOutline,enrollSmsMfa=async()=>{l(!0);try{let e=await (0,E.R)({phoneNumber:h});if(!e.challenge_id)throw Error();j(e.challenge_id)}catch(r){if(r instanceof C.y2){var e;(null===(e=r.user_facing_errors)||void 0===e?void 0:e.mfa_phone_number)?N(r.user_facing_errors.mfa_phone_number):r.error_code===C.$C.ActionAlreadyComplete?N(r.user_facing_error):b.N9.show({title:"エラー",message:r.user_facing_error,color:v.xR.ErrorButtonColor,classNames:m})}else b.N9.show({title:"エラー",message:L.ww,color:v.xR.ErrorButtonColor,classNames:m}),console.error(r)}finally{l(!1)}},Z=(0,a.useCallback)(async()=>{l(!0);try{let e=await (0,E.W)({code:g,challengeId:_});b.N9.show({title:"Success",message:(0,s.jsxs)(i.x,{children:["電話番号",(0,s.jsx)(z.Z,{span:!0,fw:"bold",phoneNumber:e.mfa_phone_number}),"は2FAに登録されています"]}),color:v.xR.ActionButtonColor,classNames:m}),setTimeout(()=>d.reload(),1500)}catch(r){if(r instanceof C.y2){var e;r.error_code===C.$C.Unauthorized?d.reload():(null===(e=r.user_facing_errors)||void 0===e?void 0:e.code)?A(r.user_facing_errors.code):r.error_code===C.$C.ActionAlreadyComplete?N(r.user_facing_error):b.N9.show({title:"エラー",message:r.user_facing_error,color:v.xR.ErrorButtonColor,classNames:m})}else b.N9.show({title:"エラー",message:L.ww,color:v.xR.ErrorButtonColor,classNames:m}),console.error(r);l(!1)}},[_,g,d,l,m]),handleSubmit=async()=>{y?await Z():await enrollSmsMfa()};return(0,a.useEffect)(()=>{let handleAutoSubmit=async()=>{P(!0),await Z()};6!==g.length||R||handleAutoSubmit()},[g,R,Z]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.x,{mb:"lg",children:y?(0,s.jsxs)(s.Fragment,{children:["2FAの設定を完了するには、",(0,s.jsx)(z.Z,{span:!0,fw:"bold",phoneNumber:h}),"に送信されたSMSコードを入力してください。"]}):"SMS MFA を設定するには電話番号を入力してください。"}),y?(0,s.jsx)(B.M,{mt:"lg",children:(0,s.jsxs)(c.K,{spacing:0,children:[(0,s.jsx)(i.x,{component:"label","label-for":"2fa-code",size:"md",fw:500,ml:"xs",children:"SMSコード"}),(0,s.jsx)(i.x,{size:"sm",ml:"xs",children:"テキストで送られた6文字のコードを入力してください"}),(0,s.jsx)(k.E,{variant:t,id:"2fa-code",size:"xl",length:6,type:"alphanumeric",value:g,onChange:e=>{A(void 0),x(e)},error:!!O,oneTimeCode:!0}),(0,s.jsx)(i.x,{hidden:!O,size:"sm",color:"errorButtonColor",children:O})]})}):(0,s.jsx)(M.Z,{useJapaneseLabel:!0,showLabel:!0,variant:t,value:h,onChange:e=>{N(void 0),f(e)},error:S}),(0,s.jsxs)(p.Z,{grow:!0,mt:"xl",noWrap:!0,children:[!!u&&(0,s.jsx)(n.z,{variant:q,onClick:y?()=>{j(""),x(""),P(!1)}:u,fullWidth:!0,children:"戻る"}),(0,s.jsx)(n.z,{onClick:async()=>await handleSubmit(),loading:o,fullWidth:!0,children:y?"MFA を有効にする":"コードを送信する"})]})]})},O=t(22870),A=t(78551),R=t(78386),P=t(6549),q=t(40102),Z=t(86093),JapaneseTotpMfaEnrollment=e=>{let{isFrameless:r,textInputVariant:t,isLoading:o,setIsLoading:l,handleBack:u}=e,d=(0,w.useRouter)(),{classes:m}=(0,F.fc)(),h=!u,[f,g]=(0,a.useState)(!1),[x,j]=(0,a.useState)(""),[y,S]=(0,a.useState)(""),[N,E]=(0,a.useState)(!0),[z,M]=(0,a.useState)(""),[T,I]=(0,a.useState)([]),{data:J,isLoading:K,isError:W,error:V}=(0,A.a)({queryKey:["securityStatus"],queryFn:P.B,refetchOnWindowFocus:!1,staleTime:6e4});(0,a.useEffect)(()=>
1{if(W){let e=V instanceof C.y2?V.user_facing_error:L.ww;b.N9.show({title:"エラー",message:e,color:v.xR.ErrorButtonColor,classNames:m})}else K||W||!J||J.mfa_enabled||(j(J.new_secret),S(J.new_qr))},[K,W,J,V,m]);let $=(0,a.useCallback)(()=>{l(!0),(0,R.B)({code:z}).then(e=>{e.success?(M(""),I([]),b.N9.show({title:"成功",message:"2FAが有効になりました",color:"actionButtonColor.6",classNames:m}),d.reload()):"mfa_incorrect_code"===e.error_type?I(["間違ったコード"]):"mfa_already_enabled"===e.error_type?(M(""),I([]),b.N9.show({title:"エラー",message:"2FAはすでに有効になっています",color:"errorButtonColor.6",classNames:m})):"unauthorized"===e.error_type?(b.N9.show({title:"エラー",message:"無許可",color:"errorButtonColor.6",classNames:m}),d.push("/ja/login")):b.N9.show({title:"エラー",message:L.ww,color:"errorButtonColor.6",classNames:m})}).catch(e=>{b.N9.show({title:"エラー",message:L.ww,color:"errorButtonColor.6",classNames:m}),console.error(e)}).finally(()=>l(!1))},[d,z,l,m]);(0,a.useEffect)(()=>{let handleAutoSubmit=async()=>{g(!0),$()};6!==z.length||f||handleAutoSubmit()},[z,$,f]);let Q=K||W;return(0,s.jsxs)(c.K,{children:[Q&&(0,s.jsx)(B.M,{children:W?(0,s.jsx)(Z.Z,{children:L.ww}):(0,s.jsx)(_.a,{})}),!Q&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(i.x,{children:[h?"あなたが所属する組織では、2要素認証が必須となっています。2要素認証では、通常のログインに加えてコードの入力が必要となるため、アカウントのセキュリティが強化されます。":"","2FA 登録を続行するには、Google Authenticator や Authy などの認証アプリが必要になります。"]}),N?(0,s.jsxs)(c.K,{mt:"lg",spacing:"md",align:"center",children:[(0,s.jsx)(O.E,{styles:{image:{borderRadius:0,border:"none"}},w:"100%",px:"xxl",py:0,src:"data:image/png;base64,".concat(y),alt:"qr code",title:"認証アプリでこの QR コードをスキャンします。"}),(0,s.jsxs)(i.x,{size:"sm",children:["機能していませんか?",(0,s.jsx)(n.z,{compact:!0,variant:r?v.Bq.LoginFramelessSubtlePrimary:v.Bq.LoginSubtlePrimary,onClick:()=>E(!1),styles:e=>({label:{fontSize:e.fontSizes.sm}}),children:"代わりにコードを入力してください"})]})]}):(0,s.jsxs)(c.K,{spacing:"md",align:"center",children:[(0,s.jsx)(q.v,{value:x,withBackground:!0,variant:t,expand:!0,mt:"lg"}),(0,s.jsxs)(i.x,{size:"sm",children:["画像の方がいいですか?",(0,s.jsx)(n.z,{compact:!0,variant:r?v.Bq.LoginFramelessSubtlePrimary:v.Bq.LoginSubtlePrimary,onClick:()=>E(!0),styles:e=>({label:{fontSize:e.fontSizes.sm}}),children:"代わりに QR コードをスキャンしてください"})]})]}),(0,s.jsxs)(c.K,{spacing:0,align:"center",mt:"lg",children:[(0,s.jsx)(i.x,{size:"xs",ml:"xs",children:"認証アプリから 6 桁のコードを入力してください"}),(0,s.jsx)(k.E,{variant:t,id:"2fa-code",size:"xl",length:6,type:"number",value:z,onChange:e=>M(e),error:T.length>0,oneTimeCode:!0}),(0,s.jsx)(i.x,{hidden:0===T.length,size:"xs",color:"errorButtonColor",children:T[0]})]})]}),(0,s.jsxs)(p.Z,{grow:!0,noWrap:!0,mt:"xl",children:[!h&&(0,s.jsx)(n.z,{variant:v.Bq.LoginOutlineCancel,onClick:u,children:"戻る"}),(0,s.jsx)(n.z,{disabled:6!==z.length,variant:v.Bq.LoginPrimary,onClick:$,children:o?(0,s.jsx)(_.a,{size:"sm"}):"有効にする"})]})]})},T=t(28279),I=!0,create_mfa=e=>{let{pageConfig:r}=e,t=(0,T.$)(),i=Object.keys(r.mfa_options_enabled).filter(e=>r.mfa_options_enabled[e]),c=i.length>1,[u,d]=(0,a.useState)(c?void 0:i[0]),[m,h]=(0,a.useState)(!1),f=r.theme.login_ui_theme===o.gq.Frameless,g=r.theme.login_ui_theme===o.gq.Frame,x=r.theme.login_ui_theme===o.gq.SplitScreen,p=f?v.kI.LoginFrameless:v.kI.Login,_=(0,a.useCallback)(()=>{d(void 0)},[d]),j=(0,a.useMemo)(()=>{if(!c)return"2FAを設定する";switch(u){case"totp":return"認証アプリで2FAを設定する";case"phone":return"SMS経由で2FAを設定する";default:return"2FAを設定する"}},[u,c]),b=(0,a.useMemo)(()=>{switch(u){case"totp":return(0,s.jsx)(JapaneseTotpMfaEnrollment,{isFrameless:f,textInputVariant:p,isLoading:m,setIsLoading:h,handleBack:c?_:void 0});case"phone":return(0,s.jsx)(JapaneseSmsMfaEnrollment,{isFrameless:f,textInputVariant:p,isLoading:m,setIsLoading:h,handleBack:c?_:void 0});case"passkey":return(0,s.jsx)(JapanesePasskeyMfaEnrollment,{isFrameless:f,textInputVariant:p,isLoading:m,setIsLoading:h,handleBack:c?_:void 0});default:return(0,s.jsx)(JapaneseMfaOptionSelect,{isFrameless:f,setMfaOption:d,mfaOptionsEnabled:r.mfa_options_enabled})}},[u,c,_,r.mfa_options_enabled,d,f,m,p]);return(0,s.jsx)(l.ZP,{pageConfig:r,pageTitle:"ログイン",title:j,disableLogoOffset:!0,bottomChild:(0,s.jsx)(n.z,{fullWidth:!g,variant:x?v.Bq.LoginSubtlePrimary:v.Bq.LoginFramelessSubtlePrimary,disabled:m,onClick:t,children:"ログアウト"}),children:b})}},74729:function(e,r,t){"use strict";t.d(r,{R:function(){return translateError},w:function(){return s}});let s="予期しないエラーが発生しました。もう一度お試しください。",translateError=(e,r)=>{let t;if("string"==typeof r?t=r:void 0!==r&&(t=r.length>0?r[0]:void 0),!(t&&Object.keys(e).includes(t)))return null!=t?t:"";{let r=e[t];return r}}}},function(e){e.O(0,[3972,7248,8551,449,6727,9748,6085,9774,2888,179],function(){return e(e.s=93180)}),_N_E=e.O()}]);

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.