1, ваш личный токен должен быть достаточной длины, чтобы его было труднее подобрать.
2, он должен быть одинаковым для всех токенов.
3, он должен храниться в безопасности на стороне сервера. На этот вопрос невозможно ответить, не зная вашей настройки. Но не проверяйте его в git, не помещайте в клиент (чтобы все могли видеть).
4, не помещайте секреты / пароли в полезную нагрузку. Они не зашифрованы. Вы можете взять любой токен и декодировать его в jwt.io , не зная секрета.
Есть один важный аспект, который вам не хватает в JWT. В полезной нагрузке вы можете проверить , что полезная нагрузка создана с вашим секретом. Однако сама полезная нагрузка не зашифрована .
Таким образом, вы можете поместить в полезную нагрузку все, что хотите, для проверки. Хороший вариант использования - userId. Если проверка токена прошла успешно, вы знаете, что он был создан с секретом. Но секрет в клиенте, каждый клиент может создать действующий токен. Так что не забудьте сохранить это в секрете и на стороне сервера. Никогда не помещайте в токен пароли или другие секреты. Они будут на 100% видны всем.