Управление сеансом, это признак, наиболее часто связанный с веб-приложениями, поэтому я предполагаю, что это то, что есть в приложениях 1 и 2. . Вы можете найти эту статью (Single Sign-On for Regular Web Apps интересно читать, в частности, раздел о session management
Когда речь идет об управлении сессий, там, как правило, три слоя сессий мы должны рассмотреть:
- Application Session
- Auth0 (Федерация Provider) сессия
- Идентичность Provider сессия
Это было бы применимо к вам, если вы планировали иметь свой сервер аутентификации дополнительно делегировать проверку подлинности дополнительного провайдера идентификации, как Google или Facebook.
Лично я бы не использовать идентификационный маркер в качестве идентификатора сеанса и вместо того, чтобы использовать более короткий ID и сохранить состояния сеанса на стороне сервера.
Однако токен идентификатора предназначен для клиентских приложений в качестве способа предоставления им информации об операции аутентификации. Здесь клиентское приложение относится к роли приложения, а не к его характеристикам развертывания, поэтому вы можете иметь клиентские приложения, которые живут только в мире сервера или вне его в устройствах/компьютерах конечного пользователя.
Предыдущее означает, что наличие токенов ID пересекает границу на стороне сервера полностью в порядке и что ваши намерения использовать его в качестве значения cookie сеанса в порядке.
Имейте в виду, что оба токена cookie и ID имеют понятие истечения срока действия, поэтому наличие токена внутри файла cookie может быть путаным. Вам нужно либо синхронизировать (дублирование), либо игнорировать, и убедиться, что все знают, какой из них игнорируется (каждый может даже иметь в виду вас через три месяца).
скажите, что я использовал id_token как session_id вне границ сервера, хакер может получить этот id_token и использовать его для доступа к защищенному ресурсу, это где поле aud и jwt входит? –
'aud' для вас, чтобы вы были уверены, что токен был выпущен для использования вашим приложением, а не другим, который может контролироваться злоумышленниками. Если у вас есть система, основанная на сеансах, это означает, что любой, у кого есть идентификатор сеанса, может получить доступ к связанным ресурсам.Использование токена в качестве идентификатора сеанса или использование случайного идентификатора означало бы одно и то же; если кто-то украл вашу сессию, тогда он может олицетворять связанного пользователя. –