Edited at

AWS Amplifyのログイントークン保存先をsessionStorageに変更する

AWS Amplifyを使って認証機能を実装したアプリケーションで、タブを閉じるごとにユーザをログアウトさせたい場合の設定


Amplify.configure

AWS Amplifyの設定初期化時に、Auth -> storage にsessionStorageを指定。

import Amplify from 'aws-amplify';

Amplify.configure({
Auth: {
identityPoolId: 'XX-XXXX-X:XXXXXXXX-XXXX-1234-abcd-1234567890ab',
region: 'XX-XXXX-X',
identityPoolRegion: 'XX-XXXX-X',
userPoolId: 'XX-XXXX-X_abcd1234',

// OPTIONAL - customized storage object
storage: window.sessionStorage,
}
});

※ 今回はsessionStorage設定したが、localStorage、sessionStorageと互換性があるインターフェースを持った独自のオンメモリストアclassを指定することもできそう


確認

devtools上でも、cognitoのログイントークンがsessionStorageに保存されていることが確認できた。


参考

https://aws-amplify.github.io/docs/js/authentication

https://github.com/aws-amplify/amplify-js/issues/925