私は、認証と承認のためにサーバー側でStormpathを使用するモバイルアプリケーションを開発中です。複数のデバイスで同じユーザーがサインインするのをサポートする必要がありますが、必要に応じてそのデバイスを追跡して制限できるようにしたいと考えています。Stormpathを使って同じユーザーから複数のログインを追跡する
私のアプリケーションは現在、電子メール/パスワードまたはMDN /パスワードを使用してユーザーにサインインするためにStormpathを使用し、ログインに成功すると、サーバーへのAPIアクセスに使用するJWTトークンを返します。
私は、次のアプローチを考えています:
- は、ユーザーのアカウントでのセッションのリストを保管してください。ユーザーがサインインするたびに、device_idとJWTが提供された新しいエントリが追加されます。ユーザがサインオフすると、そのエントリは削除されるか、または非アクティブとマークされます。
- ユーザーが別のデバイスにサインインしようとしたときに、アクティブデバイスを1つだけに制限する場合は、他のエントリを無効にしてJWTを期限切れにして、アプリケーションがそれを検出して再度ログインする必要があります。
- ユーザーを最大n個のセッションに制限したい場合は、エントリを数え、ユーザーに他のセッションの1つでサインオフしてから新しいデバイスにサインインすることを許可することができます
これは良いアプローチですか?それを行うより良い方法はありますか?この方法の問題は何ですか?
ありがとうエドワード、これは私が思っていたものとほぼ同じです。 ご確認いただきありがとうございます。 – DiegoK