Почему IdToken является JWT в OIDC?

Я читал этот вопрос Как проверить, что idToken действителен и смотрел это видео https://thewikihow.com/video_M4JIvUIE17c и мне стало интересно... Почему id токен JWT, если он предназначен для использования клиентом. Почему после входа в систему не отправляется более простой JSON? Клиент должен будет проанализировать и закодировать jwt, чтобы получить информацию о пользователе, но, если я правильно понимаю, его не нужно проверять, поскольку в большинстве случаев клиентское приложение регистрируется на сервере аутентификации, а вход в систему выполняется в среде сервера аутентификации, и даже в случае обновления обычно используется другой токен обновления... Поэтому я не вижу смысла использовать JWT.

Может кто-нибудь сказать мне, почему это было выбрано в качестве стандарта для протокола

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
60
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Некоторые из преимуществ JWT:

  • Наличие JWT вместо простой строки JSON имеет много преимуществ. Как строку в кодировке base64, ее легче включить в строку запроса или добавить, например, в качестве заголовка ответа.

  • Любое серьезное клиентское приложение должно проверять подпись токена, прежде чем доверять ему.

  • Имея стандартный формат, мы получаем гораздо лучшую совместимость между платформами, службами и языками.

Да, первый пункт действительно хороший.

DaniloMourelle 31.12.2022 01:02
Ответ принят как подходящий

Прежде чем использовать токен id, сторона должна его подтвердить. Ссылка: https://openid.net/specs/openid-connect-core-1_0.html#ImplicitIDTValidation

Чтобы проверить токен, сам токен должен быть в НЕКОТОРОМ формате — он должен соответствовать некоторым спецификациям, чтобы клиент мог его обработать. Авторы OIDC могли выбрать что угодно — обычный json, строку, разделенную запятыми, и т. д. — но им нужно было бы описать, как это правильно обработать.

JWT идеально подходил для этой задачи — формат хорошо изучен, и многие библиотеки уже знают, как с ним работать. Поэтому авторы OIDC решили его использовать.

Мне нужно немного больше изучить эту ссылку, я не видел смысла для клиента проверять токен, полученный по запросу, сделанному ими... но, похоже, я действительно ошибаюсь kkkk.

DaniloMourelle 31.12.2022 01:04

Другие вопросы по теме

Конечная точка/контроллер OpenIdDict userinfo не выполнена
Flutter: как удалить/отключить поставщика OAuth, такого как Google/Apple/Facebook, из учетной записи в моем приложении Firebase?
Как добавить метод входа по электронной почте и паролю в существующую учетную запись, созданную с помощью стороннего поставщика, такого как google/facebook, в моем проекте firebase
Как добавить адрес электронной почты в токен доступа Cognito?
Keycloak запрашивает учетные данные для входа, даже если предоставлен действительный токен
Twitter OAuth 2.0 Refresh Token Error — (invalid_request) Значение, переданное для токена, было недопустимым
Ошибка при проверке подлинности в фабрике данных Azure
Как сохранить токен доступа OAuth2 в клиенте/браузере при вызове API ресурсов с токеном носителя в качестве заголовка авторизации
Делегированные разрешения Microsoft Graph показывают все данные арендаторов
PowerShell, загрузка с OneDrive (*не* для бизнеса)