2016-05-09 11 views
1

ノードエクスプレスにjwt(JsonWebToken)をmongodbで実装しようとしました。トークンを生成するときに、トークン値をデータベースコレクションに格納し、mongodbからトークンを取り出して次のページに渡します。また、ログアウトオプションを設定します。ログアウトをトリガーすると、データベースのトークンフィールドがフラッシュされ、これ以降はこれ以上のアクションは実行されません。しかし、問題は、複数のユーザーがアプリケーションにログインできないことです。ログアウトをクリックすると、すべてのトークンがクリアされるためです。どのように私はこれを正しく解決することができます..?ノードエクスプレスを使用してmongodbにJson Web Tokenを格納する方法

+0

どのようにトークンを保存しますか?余分なコレクション?またはユーザーコレクションに添付されていますか? – CFrei

+0

認証という特別なコレクションを使用しました。 – jicks

+0

データベースにjwtを格納することは、目的をいくらか打ち破っているようです。セッショントークンとして使用しているように私には聞こえます。 – robertklep

答えて

0

Cookie /セッションに保存できます。ログアウトすると、それらの値を削除することができます。トリックをする必要があります。 コメント:このトリックは、携帯電話用のアプリケーションを開発していないとうまくいくでしょう。ログアウトする前にfacebookのようにログアウトボタンをクリックすると、すべてのデバイスからログアウトできるようになります。 すべてのユーザーは自分のuser_idと自分のトークンを所有しています(必要な期限を設定できます)。そのため、フラッシュするときにuser_idを取り出し、その特定のトークンをフラッシュします。

1

ちょうどだけ認証後token = jwt.sign();

を渡すことによって、req.session.tokenを置きます。

そして、上のことができます。ログアウト実際delete req.session.token

関連する問題