1import{z as e,b as s,S as o,a as i,r as t,D as r,a2 as a,ac as n,e as l,t as c,N as d,j as u,L as w}from"./index-r-KClxtY.js";/* empty css */const p=e=>!!window.opener&&(window.opener.postMessage(e,window.location.origin),window.close(),!0),_=()=>{const _=e(),{domain:g}=s(),{auth:v,setAuth:m}=o(),{addNotice:f}=i();return t.useEffect((()=>{v&&v.id_token&&v.redirect_uri&&window.location.replace(v.redirect_uri)}),[v]),t.useEffect((()=>{const e=r("code",_.search)||r("code",window.location.search)||null,s=r("state",_.search)||r("state",window.location.search)||null,o=a();if(e){const i=localStorage.getItem("client_id")||n(g);l("/api/sso/login",{code:e,client_id:i,user_state:o,state:s}).then((e=>{var s,o,i,t,r,a;const n=null==e?void 0:e.data;if(localStorage.removeItem("client_id"),!1===(null==n?void 0:n.success)){if(console.warn(null==(s=n.status)?void 0:s.code,null==(o=n.status)?void 0:o.message),p({type:"sso-login-result",success:!1,error:(null==(i=n.status)?void 0:i.message)||c.notices.invalid_session}))return;return window.location.replace(n.redirect_uri||"/sso/login")}if(!0===(null==n?void 0:n.success)){if((null==(t=n.data)?void 0:t.token)&&(null==(r=n.data)?void 0:r.user)){const e={id_token:n.data.token,expiration:n.data.expiration,email:n.data.user.email,username:n.data.user.username,avatar:n.data.user.avatar,redirect_uri:null!=(a=n.redirect_uri)?a:"/dashboard"};if(p({type:"sso-login-result",success:!0,auth:e,redirectUri:e.redirect_uri}))return;m(e)}return window.location.replace(n.redirect_uri||"/sso/login")}throw new Error("response is not valid")}
1)).catch((e=>{console.warn(e),p({type:"sso-login-result",success:!1,error:c.notices.invalid_session})||window.location.replace("/sso/login")}))}else{if(r("error",_.search)){if(p({type:"sso-login-result",success:!1,error:c.notices.invalid_session}))return;f({title:c.notices.invalid_session,type:d.error,timeout:5e3})}window.location.replace("/sso/login")}}),[]),u.jsx(w,{labelPrimary:c.sso.login_loader})};export{_ as default};
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.