From 4c527b1959648838450f7be4913d6ec8e0ec4664 Mon Sep 17 00:00:00 2001 From: "maruyama.t" Date: Tue, 16 Jan 2024 06:55:11 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20PR=20685:=20auth=E3=83=9A=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=81=A7instance=E3=81=AE=E5=8F=96=E5=BE=97=E3=81=AB?= =?UTF-8?q?=E5=A4=B1=E6=95=97=E3=81=97=E3=81=9F=E5=A0=B4=E5=90=88=E3=81=A7?= =?UTF-8?q?=E3=82=82=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3=E3=83=9A=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=81=AB=E9=81=B7=E7=A7=BB=E3=81=95=E3=81=9B=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 概要 [Task3476: authページでinstanceの取得に失敗した場合でもログインページに遷移させる](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3476) 以下暫定対応です。 `const loginResult = await instance.handleRedirectPromise();` 推測としては、この処理でloginResultがnullになってしまうことがあり、 結果、ページ遷移などが発生しないままになってまうため、loading表示で固まる。 そのため、いかなる場合でも最終的にはログインページに遷移させるよう修正した。 これによって、loginResultがnullの場合は、ログインページに遷移後トップページに遷移し、ユーザは再度ログイン処理を行うことができる。 一旦この状態でテストは継続していただいて、根本原因調査は裏で行う。 ## レビューポイント - console.log({ loginResult }); はDEV環境での動作確認後に削除いたします。 ## UIの変更 なし ## 動作確認状況 - ローカルで確認 ## 補足 - 相談、参考資料などがあれば --- dictation_client/src/pages/AuthPage/index.tsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/dictation_client/src/pages/AuthPage/index.tsx b/dictation_client/src/pages/AuthPage/index.tsx index a17880d..5a66e4c 100644 --- a/dictation_client/src/pages/AuthPage/index.tsx +++ b/dictation_client/src/pages/AuthPage/index.tsx @@ -66,12 +66,10 @@ const AuthPage: React.FC = (): JSX.Element => { clearToken(); return; } - const loginResult = await instance.handleRedirectPromise(); // eslint-disable-next-line console.log({ loginResult }); // TODO:loading画面から遷移できない事象の調査用ログ。事象解消後削除(eslint-disable含めて)する。 - if (loginResult && loginResult.account) { const { homeAccountId, idTokenClaims } = loginResult.account; if (idTokenClaims && idTokenClaims.aud) { @@ -85,11 +83,11 @@ const AuthPage: React.FC = (): JSX.Element => { localStorageKeyforIdToken, }) ); - - // トークン取得と設定を行う - navigate("/login"); } } + // ログインページに遷移し、トークン取得と設定を行う + // 何らかの原因で、loginResultがnullの場合でも、ログイン画面に遷移する(ログイン画面でトップページに戻る) + navigate("/login"); } catch (e) { // eslint-disable-next-line console.log({ e }); // TODO:loading画面から遷移できない事象の調査用ログ。事象解消後削除(eslint-disable含めて)する。