2017-06-08 9 views
0

私はionicでモバイルアプリケーションを開発しています。2.私のウェブサイトにログインしたときのメカニズムを設計したいと思います。モバイルアプリケーションにログオンしなければなりませんウェブサイトはログアウトする必要があります。私はモバイルとウェブサイトで同じデータベースを使用しています。私は私のモバイル認証にjsonwebtokenを使用しています。私のionic 2アプリケーションでこのメカニズムを実装する最良の方法は何ですか?2つのデバイスからのユーザーログインを防止する方法

+0

スコープを指定して、複数のデバイスからのログインのみを制限しようとしているのでしょうか、それとも他のログインのみですか? –

+0

Webトークンを使用している場合(エンドには格納されません)、セッションの情報がないため、これを防ぐことは不可能です。何らかのリフレッシュトークンを持っていれば、これを少なくとも取り消してアクセストークンを期限切れにすることができます。 –

+0

複数のデバイスからの防御を希望します。気象Webサイトやモバイルデバイスのユーザーは一度に1つのデバイスを使用する必要があります。セッションIDを使用するウェブサイトではなく、モバイルアプリケーションがトークンを使用していました。ユーザーがログインしたときにデータベースにWebトークンを格納すると、どうすればWebサイトセッションと比較できますか? –

答えて

0

セッションの詳細を保存するセッションテーブルを作成する必要があります。また、これらのセッションを識別し、アクティブであるかどうかを伝えるための固有のIDとステータスも保存されます。このIDは、ユーザーがログインすると、このテーブルに問い合わせて既存のセッションが存在するかどうかを確認すると、さまざまなデバイスのセッションを検証するための参照として使用されます。存在する場合は、ステータスをfalseに変更します。

UIでsetintervalを使用して、このセッションを定期的に要求します。これは10秒です。必要に応じて何かが必要です.setintervalの中で、このセッションをチェックするバックエンドを呼び出します。 falseでログアウトします。

+0

あなたはまさに私がやりたいことですが、私はトークンとセッションIDの使い方を考えていません。両方を使用してバックエンドで検証することは可能ですか? –

+0

この場合、使用しているバックエンドに基づいてセッション認証を確認できます –

関連する問題