web-dev-qa-db-ja.com

JSON Webトークンのクレーム。ユーザー名をどこに置くか

ユーザーの確認にJWTを使用しています。結果として、ユーザー名、mycompany、および有効期限の情報を含むjson Webトークンを作成する必要があります。 JWT標準では、発行者(iss)などの予約済みのクレームがあります。私の情報については、自分の情報を保存するためのベストプラクティスは何だと思いましたか。私はもともとiss = 'mycompany.com'、sub = 'myusername'、exp = 'whenever'を設定することを考えていましたが、jwt.com( http://jwt.io/introduction/ )ペイロード内にユーザー名が格納されているのがわかります。これには理由がありますか?もしそうなら、それらは何であり、私の実装は間違っていますか?

8
user2924127

subは、事前定義された要求です。

あなたのリンクで述べたように、これは「相互運用性」のためです。現在または将来、他のシステムとJWTを交換する必要がない場合は、プライベートクレーム(nameなど)を使用できます。 subを使用している場合、このトークンを受信するすべてのシステムは同じように解釈する必要があります(つまり、subはユーザー名のみを意味し、それ以外の意味はありません)。

予約済みクレームもペイロード内に格納されることに注意してください。

1
SilverlightFox