2017-02-12 10 views
1

私のnode.jsサーバーは、認証にJson Web Token(JWT)とpassport.jsを使用しています。ユーザーが登録されると、サーバーはユーザーに確認メールを送信し、安全のために確認リンクにトークンが生成される必要があります。しかし、私のサイトはusgin jwtなので、jwtを電子メールの確認リンクの一部として送ることはできますか?NodeJS - 登録確認メールでJson Web Token(JWT)を送信するのは安全ですか?

すなわち検証リンクはhttp://example.com/verification/some-jwt

だから、限り、ユーザーが電子メールを取得するように、彼はまた、JWTますされるだろうし、将来の認証のために、ブラウザに保存することができます。

これは良い方法ですか?

+0

あなたはあなたの質問に関して決定を下しましたか?どちらの方法を採用しましたか?私は同じ質問があります。 – Teebo

+0

@Teebo私は解決策を掲載しました。確認してください。 –

+0

私は解決策を読んで理解できないようですが、https://passwordless.net/のようなモジュールを使うことができますか?あなたはリンクや簡単な歩行を送ってもらえませんか?ありがとう – Teebo

答えて

0

Brodyが述べたように、より良い解決策は、「ワンタイムトークン」リンクを電子メールで送信することです。そのリンクをクリックすると、クッキーが確認され、JWTが返されます。

ここでは、JWTをブラウザのローカルストレージに格納するだけで、実際にはCookieは必要ありません。

2

私はそうは思わない。あなたは本当に電子メールとブラウザの情報を混ぜ合わせたくありません。

もっと良い解決策は、初めてリンクをクリックしたときにJWTをクッキーに読み込む「ワンタイムトークン」リンクをメールすることです。これにより、WebサイトはJWTでブラウザのCookieを設定できます。

トークンはになる可能性があり、長時間にわたってになっています。

+0

ありがとう!ワンタイムトークンサウンドはうまく機能します。しかし、私はjwtを使用しているので、私はクッキーを使用しないでください? –

関連する問題