Access, ID, Refresh токены
Читаю много про токены, но не могу понять кое что
Есть разные виды токенов:
Access позволяет получить доступ к api.
Refresh позволяет обновлять токен.
ID содержит информацию о пользователе, чтобы, например, не бегать все время в базу за его основной инфой, а загрузить из токена.
Но вот что я не могу понять:
Они все состоят из одних и тех же полей, только access токен должен обязательно включать в себя issuer, audience, subject, чтобы в них указать, какому ресурсу, на каком ресурсе, какие действия разрешены от имени пользователя? Я вообще правильно понял назначение полей:
issuer - запрашивающий ресурс
audience - запрашиваемый ресурс(API)
subject - указывает какие действия может делать issuer на audience от имени владельца токена?
А остальные 2 токена не обязаны содержать эти поля? Есть ли толковое объяснение как формировать все эти 3 токена?
Пока что как будто они формируются одной и той же функцией, просто определенные поля не везде обязательны.