title: Best Practice handling user data with JWT
body: <p>I'm implementing stateless REST API via Json Web Tokens (JWT). At the moment, I'm wondering what is the best approach to pass the user data to the front end. Those are the fields I would need to access on the front-end <code>username, email, role, full_name, description, profile_img, facebook_id, twitter_id, custom_setting_1, custom_setting_2, custom_setting_3, custom_setting_4</code></p>
  
  <p>There are 2 options that I see:</p>
  
  <ol>
  <li>During the JWT creation add the user data to the JWT payload. And then decode it on the front end. Though I'm worried if I add all the data that the payload will get quite large.</li>
  <li>I can add only unchangeable fields like <code>username, role</code> to JWT. After the JWT is created and returned to the front-end, I send another request for the user data from the API. </li>
  </ol>
  
  <p>I might be missing something here as well. So wondering what is the best approach handling the user data with JWT.</p>