私のnodejsアプリケーションでは、認証にjwtトークンを使用しています。トークンが作成されると、検証されます。そのためには、検証のためにどこかに格納する必要があります。だから、私の質問は、別のデータベースのスキーマを関係するユーザIDに格納するか、別の場所に保存すべきかどうかです。サーバー側の認証にjwtトークンを格納する必要があります
0
A
答えて
3
JWTをサーバー側に格納する必要はありません。 JWTを作成するときは、秘密を使って暗号化します。これを「パスワード」と考えてください。次に、それをクライアントに送信して、そこに保存することができます。
クライアントがリクエストを行うと、クライアントはリクエストと共にJWTを送信します。サーバー側では、同じ秘密を使用して復号化することができます。シークレットが機能しない場合、それは無効なJWTであることがわかります。
明白な理由から、あなたのJWT秘密は秘密にしておく必要があります。これを行う最善の方法は、環境変数として格納することです。
1
JWTをサーバー側に格納する必要はありません。これは、JWTがサーバー側で「非同期」トークン検証を可能にするための要点です。ここで
は、簡単な方法で入れて、関連する一連の手順です:
1 - サーバーは、彼らが1以上であれば、同様に重要である、サーバ・ノード間でこの秘密を維持すること(秘密を使ってJWTを作成しますクライアントは、指定されたJWTとそれらのサーバ)のいずれかに
2-クライアント格納このJWTを接続し、サーバ
3-サーバ(又はにおける任意のサーバノードに後続のリクエストでそれを供給することができファーム)は、先にJWTを暗号化/作成するために使用された秘密に基づいて着信JWTを確認します
HTH
関連する問題
- 1. SharedPreferencesに認証トークン属性を持つユーザーオブジェクトを格納する必要がありますか?
- 2. Ruby On Railsでトークンをデータベースに格納する必要がありますか?
- 3. クライアント側に格納されている認証トークンはどこですか?
- 4. 認証コードフローの場合、トークンをチェックする必要がありますか?
- 5. マークダウンパーサーをクライアント側またはサーバー側にする必要があります
- 6. asp.net Webサイトでクライアント側の検証後にサーバー側の検証を行う必要がありますか?
- 7. JWTによる認証:サーバーまたはクライアント側?
- 8. Python JWT認証トークンがdjango jwt apiで認証されない
- 9. MVC 5のCookieにJWTトークンを格納しています
- 10. iOS上に認証トークンを格納する - NSUserDefaultsとKeychain?
- 11. RESTful APIに認証トークンを格納する場所
- 12. VueJSに認証トークンを格納するベストプラクティス?
- 13. JWTトークンを赤字で保存する必要がありますか?
- 14. 変数にCSS要素を格納する必要があります
- 15. elasticsearchに直接文字列または数値トークンを格納する必要があります
- 16. JWTトークンとOwin認証
- 17. Django RESTフレームワークでDBにJWTトークンを格納する方法
- 18. yii2ログインでパスワードハッシュ、トークン、認証キーの必要性があります
- 19. クッキーを使用してoauth認証トークンを格納する
- 20. DjangoでJWTトークンで認証する
- 21. java.utilのデータ型に16バイトを格納する必要があります。
- 22. "http://"にURLのデータベースレコードを格納する必要がありますか?
- 23. デバッグ情報をアプリケーションのデータベースに格納する必要があります
- 24. passport-jwtトークンが認証されない
- 25. 無効なJWT:トークンは有効期限の短いトークンである必要があります
- 26. JWTトークンはDRFトークンと同じテーブルに格納されていますか?
- 27. 関数リファレンスをReduxストアに格納する必要がありますか?
- 28. テキストファイルをSQL Serverデータベースに格納する必要がありますか?
- 29. 参照をC++でクラスに格納する必要がありますか?
- 30. IEブラウザヘルパーオブジェクトはどこにデータファイルを格納する必要がありますか?
と仮定、私は環境変数内のすべてのこれらのトークンを生成するために使用された、あなたの言うあたりのように、私べき唯一の店の秘密、だから、異なるクライアントが異なるJWTのトークンを持って、クライアント側からの複数の要求を持っています。それとも私はそれを間違って解釈しましたか? –
修正。たとえば、ユーザーがログインしたときに、IDと電子メールアドレスをJWTに保存することができます。それはあなたの秘密で暗号化されます。そのユーザーがリクエストを行うたびに、そのIDと電子メールアドレスを生成するのと同じ秘密で解読し、誰がリクエストを行ったのかを知ることができます。あなたは秘密を知っている唯一の人なので、あなたはすべてのJWTに同じ秘密を使うことができます。 –