Я читал этот вопрос Как проверить, что idToken действителен и смотрел это видео https://thewikihow.com/video_M4JIvUIE17c и мне стало интересно... Почему id токен JWT, если он предназначен для использования клиентом. Почему после входа в систему не отправляется более простой JSON? Клиент должен будет проанализировать и закодировать jwt, чтобы получить информацию о пользователе, но, если я правильно понимаю, его не нужно проверять, поскольку в большинстве случаев клиентское приложение регистрируется на сервере аутентификации, а вход в систему выполняется в среде сервера аутентификации, и даже в случае обновления обычно используется другой токен обновления... Поэтому я не вижу смысла использовать JWT.
Может кто-нибудь сказать мне, почему это было выбрано в качестве стандарта для протокола
Некоторые из преимуществ JWT:
Наличие JWT вместо простой строки JSON имеет много преимуществ. Как строку в кодировке base64, ее легче включить в строку запроса или добавить, например, в качестве заголовка ответа.
Любое серьезное клиентское приложение должно проверять подпись токена, прежде чем доверять ему.
Имея стандартный формат, мы получаем гораздо лучшую совместимость между платформами, службами и языками.
Прежде чем использовать токен id, сторона должна его подтвердить. Ссылка: https://openid.net/specs/openid-connect-core-1_0.html#ImplicitIDTValidation
Чтобы проверить токен, сам токен должен быть в НЕКОТОРОМ формате — он должен соответствовать некоторым спецификациям, чтобы клиент мог его обработать. Авторы OIDC могли выбрать что угодно — обычный json, строку, разделенную запятыми, и т. д. — но им нужно было бы описать, как это правильно обработать.
JWT идеально подходил для этой задачи — формат хорошо изучен, и многие библиотеки уже знают, как с ним работать. Поэтому авторы OIDC решили его использовать.
Мне нужно немного больше изучить эту ссылку, я не видел смысла для клиента проверять токен, полученный по запросу, сделанному ими... но, похоже, я действительно ошибаюсь kkkk.
Да, первый пункт действительно хороший.