私のアプリケーションで、ユーザーが別のデバイスから再度サインインしているときに特定のユーザーのすべての以前のユーザープールセッションを無効にしたい。しかし問題はグローバルサインアウトを呼び出した後で、以前のデバイスのセッションがまだ有効であることです。パスワードを変更した後でも、以前のデバイスのセッションはまだ存在します。Android AWS Cognito UserPool複数のデバイスからユーザーがサインインしているときにglobalSignoutが機能しない
userPool.getUser("xyzzz").getSessionInBackground(authenticationHandler);
以前のデバイス上のコードの上に呼び出した後、それが直接、新しいトークンを使用してユーザーセッションを返す代わりに、パスワードの入力をgetAuthenticationDetailsを呼び出します。
Cognitoユーザーのために一度に1つのセッションしか持たない方法はありますか。
私のアプリでは、API呼び出し(APIゲートウェイ)を承認するためにIdトークンを使用しています。私の懸念は、Idトークンを無効にするか、または有効期限を5〜10分に減らす方法があることです。他のデバイスのパスワードを変更した後も、認証の詳細を確認せずにセッションを戻します。ですから、もしidトークンを無効にし、他のデバイス上のユーザーセッションを無効にする方法があれば教えてください。 –
こんにちは、私が言及したように、idトークンの妥当性は1時間であり、グローバルサインアウトはそれを無効にしません。有効性も設定できません。他のすべてのトークンは無効になります。これをお寄せいただきありがとうございます。チーム内で機能要求として言及し、それに応じて優先順位を付けることにします。 –
実際に、最初の質問では、APIゲートウェイでトークンを使用しているとは指定していません。 STS、CIB、API Gatewayなどの外部サービス(ユーザープールではない)にアクセスする場合、ユーザーが削除、無効、グローバルにログアウトしても有効期限が切れていれば、アクセストークンとIDトークンは引き続き機能します。 –