| @@ -151,6 +151,15 @@ export const SetupAxiosInterceptors = () => { | |||||
| async (error) => { | async (error) => { | ||||
| // const { config, response: { status } } = error | // const { config, response: { status } } = error | ||||
| const status = error.response?.status | const status = error.response?.status | ||||
| const reqUrl = error.config?.url || '' | |||||
| // iAM Smart registration: HKID already linked — caller must show /iamsmart/pleaseLogin (not refresh/logout) | |||||
| if ( | |||||
| status === 401 && | |||||
| reqUrl.includes('/smart/getProfile') && | |||||
| error.response?.data?.exception === 'msg: account created' | |||||
| ) { | |||||
| return Promise.reject(error) | |||||
| } | |||||
| if (status === 401 && error.config?.url !== apiPath + REFRESH_TOKEN) { | if (status === 401 && error.config?.url !== apiPath + REFRESH_TOKEN) { | ||||
| // Make a request to refresh the access token | // Make a request to refresh the access token | ||||
| const refreshToken = localStorage.getItem('refreshToken'); | const refreshToken = localStorage.getItem('refreshToken'); | ||||
| @@ -19,6 +19,12 @@ const Index = () => { | |||||
| getPrfile(); | getPrfile(); | ||||
| }, []); | }, []); | ||||
| function isIAmSmartAccountAlreadyRegistered(error) { | |||||
| const ex = error?.response?.data?.exception | |||||
| const httpStatus = error?.response?.status | |||||
| return httpStatus === 409 || ex === 'msg: account created' | |||||
| } | |||||
| function getPrfile(){ | function getPrfile(){ | ||||
| let params = new URLSearchParams(window.location.search) | let params = new URLSearchParams(window.location.search) | ||||
| @@ -38,9 +44,9 @@ const Index = () => { | |||||
| }, | }, | ||||
| onError:(error)=>{ | onError:(error)=>{ | ||||
| console.log(error); | console.log(error); | ||||
| if(error?.response?.data?.exception == "msg: account created"){ | |||||
| navigate("/iamsmart/pleaseLogin", { state: {registryMethod:"iAmSmart"}} ); | |||||
| }else{ | |||||
| if (isIAmSmartAccountAlreadyRegistered(error)) { | |||||
| navigate("/iamsmart/pleaseLogin", { state: { registryMethod: "iAmSmart" } }); | |||||
| } else { | |||||
| window.location.assign("/register"); | window.location.assign("/register"); | ||||
| } | } | ||||
| } | } | ||||
| @@ -185,9 +185,9 @@ | |||||
| "loginErrorMessage6":"User account not found", | "loginErrorMessage6":"User account not found", | ||||
| "loginErrorMessage7":"System is under maintenance, please check back later.", | "loginErrorMessage7":"System is under maintenance, please check back later.", | ||||
| "pleaseLloginMessage1":"User account already created", | |||||
| "pleaseLloginMessage2":"You are our existing user, please login to your account.", | |||||
| "pleaseLloginMessage3":"Go to Login page", | |||||
| "pleaseLloginMessage1":"Account already registered", | |||||
| "pleaseLloginMessage2":"The identity you verified with iAM Smart is already linked to an existing PNSPS account. Please go to the login page and sign in—there is no need to register again.", | |||||
| "pleaseLloginMessage3":"Go to login page", | |||||
| "loginSuccessMessage1":"User account link up success", | "loginSuccessMessage1":"User account link up success", | ||||
| "loginSuccessMessage2":"You are our existing user and successfully linked your existing account.<br/>From now on, you can log in through \"iAM Smart\".", | "loginSuccessMessage2":"You are our existing user and successfully linked your existing account.<br/>From now on, you can log in through \"iAM Smart\".", | ||||
| @@ -221,9 +221,9 @@ | |||||
| "loginErrorMessage6":"找不到用户帐户", | "loginErrorMessage6":"找不到用户帐户", | ||||
| "loginErrorMessage7":"系统正在维护中,请稍后再查看", | "loginErrorMessage7":"系统正在维护中,请稍后再查看", | ||||
| "pleaseLloginMessage1":"帐户已建立", | |||||
| "pleaseLloginMessage2":"你是我们的现有用户,请登入你的帐户。", | |||||
| "pleaseLloginMessage3":"前往登入页面", | |||||
| "pleaseLloginMessage1":"账户已注册", | |||||
| "pleaseLloginMessage2":"您通过「智方便」核实的身份已用于注册本系统账户。请前往登录页面登录,无需重新开户。", | |||||
| "pleaseLloginMessage3":"前往登录页面", | |||||
| "loginSuccessMessage1":"成功连结现有帐户", | "loginSuccessMessage1":"成功连结现有帐户", | ||||
| "loginSuccessMessage2":"你是我们的现有客户,已成功连结现有帐户。<br/>以后可以透过「智方便」登入。", | "loginSuccessMessage2":"你是我们的现有客户,已成功连结现有帐户。<br/>以后可以透过「智方便」登入。", | ||||
| @@ -222,8 +222,8 @@ | |||||
| "loginErrorMessage6":"找不到用戶帳戶", | "loginErrorMessage6":"找不到用戶帳戶", | ||||
| "loginErrorMessage7":"系統正在維護中,請稍後再查看", | "loginErrorMessage7":"系統正在維護中,請稍後再查看", | ||||
| "pleaseLloginMessage1":"帳戶已建立", | |||||
| "pleaseLloginMessage2":"你是我們的現有用戶,請登入你的帳戶。", | |||||
| "pleaseLloginMessage1":"帳戶已註冊", | |||||
| "pleaseLloginMessage2":"你透過「智方便」核實的身分已用於註冊本系統帳戶。請前往登入頁面登入,無須重新開戶。", | |||||
| "pleaseLloginMessage3":"前往登入頁面", | "pleaseLloginMessage3":"前往登入頁面", | ||||
| "loginSuccessMessage1":"成功連結現有帳戶", | "loginSuccessMessage1":"成功連結現有帳戶", | ||||