Идентификационный токен

Идентификационный токен

Идентификационный токен — это цифровой объект, который подтверждает, что пользователь успешно прошел процедуру аутентификации в системе. Чаще всего идентификационный токен применяется в современных протоколах аутентификации, таких как OpenID Connect (OIDC). Этот токен доказывает, что пользователь был аутентифицирован доверенным поставщиком идентификационных данных, например, Google, Facebook или другим сервисом, и передает информацию о пользователе приложению.

Основная задача идентификационного токена — это предоставление информации о личности пользователя. Токен содержит данные, которые можно использовать для персонализации пользовательского опыта и проверки, что система взаимодействует с конкретным пользователем. Однако важно понимать, что идентификационный токен не предназначен для выполнения операций с доступом к защищенным ресурсам — для этого используется токен доступа.

Идентификационный токен обычно представлен в формате JWT (JSON Web Token), который состоит из трех частей:

  1. Заголовок (header) — содержит тип токена (например, JWT) и алгоритм шифрования.
  2. Полезная нагрузка (payload) — включает данные о пользователе, такие как имя, идентификатор (ID), а также другую информацию, например, время создания и истечения срока действия токена.
  3. Подпись (signature) — генерируется при помощи закрытого ключа эмитента и служит для проверки подлинности токена и защиты его от изменений.

Пример данных, которые могут содержаться в идентификационном токене:

  • iss (issuer) — эмитент токена, например, адрес провайдера аутентификации;
  • sub (subject) — идентификатор пользователя;
  • aud (audience) — целевое приложение, для которого предназначен токен;
  • exp (expiration) — время истечения срока действия токена.

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