[AWS Amplify] 無限ループでフリーズしてログインできない問題

JavaScriptAWS,React

AWS Cognito + Amplify + React で作ったログイン画面を使っていたが、たまにログイン画面が表示されないままフリーズする現象が発生していた。この問題を解決したのでメモ。

ライブラリ

事象発生時のライブラリ

@aws-amplify/ui-react@2.15.4
@aws-amplify/ui@3.6.4

ログイン画面

ログイン画面は AmplifyAuthenticator 使うやつ。

<AmplifyAuthenticator>
    <AmplifySignUp/>
</AmplifyAuthenticator>

問題

発生条件が分からなかったのだが、 amplify-ui で issue が出ていた。

fix(authenticator): fix infinite loop on refresh after refresh token expires
リフレッシュトークンの有効期限が切れた状態で、画面をリロードしたり、開こうとすると無限ループが発生する。

ということのようだ。

試しに、ログイン状態のままリフレッシュトークンの有効期限が切れまで待って、ページをリロードしたり開きなおしたりしてみた。

100 % ページ開かなった。。。

解決方法

@aws-amplify/ui@3.8.2 以上にバージョンアップする。
バージョン 3.8.2 でこのバグが fix されている。

Posted by Agopeanuts