2016-12-10 4 views
0

通常のjwt.sign(user、key)メソッドから生成されるJSON Webトークンの長さを変更するにはどうすればよいですか? 私は現在、鍵を単純な "12345"と設定していますが、生成されているトークンは非常に長くなっています。 私はこのためにノードjsライブラリのpassport-local-mongooseモジュールパッケージを使用しています。Node.jsのJSON Webトークン

This is the token that is getting generated

使用されている秘密鍵は、次のとおりです。 Secret Key

にはどうすればトークン値を短縮することができますか?

答えて

0

トークンの長さは、トークン内に格納するデータによって異なります。ユーザー関連のデータや他のものを格納することができます。これは単にエンコードされ、追加されたものです。 (。) - - ペイロード

ものはドットを使用して分離されている署名ヘッダ:

A JWTは、3つの部分から構成されています。ヘッダーには、アルゴリズムと必要なものに関するデータが格納され、署名は、ペイロード内のデータが変更されていないことを確認するために使用されます。データ自体はあなた次第です。

トークンを短縮するには、生成するデータ量を少なくします。秘密は長さとは関係がありません。

+0

データは、登録するユーザー名とパスワードです。私はそれを短縮するオプションはないと思う –

0

ペイロードからパスワードを削除することで、値を短くすることができます。

ペイロードにそれを持つことは、とにかくあなたに有用ではありません。

トークンは、操作から保護するために署名され、それらが暗号化されません。つまり、トークンを簡単にデコードし、その内容を明らかにすることができます。 jwt.io上を移動して上記のトークンを貼り付けると、ヘッダーとペイロードを読み取ることができますが、正しい秘密がなければトークンは役に立たず、「無効な署名」というメッセージが表示されます。

https://auth0.com/learn/token-based-authentication-made-easy/

関連する問題