Однако в этой же строчке идет проверка, не истек ли токен. Токен считается истекшим, если создан 100 дней назад.
Предлагаю проверку токена делать не по дате создания, а по дате последнего обновления. Тем более эта дата уже хранится в таблице токенов в поле date_log. И обновляется каждый раз при авторизации по куке.
В противном случае раз в 100 дней пользователя с сайта разлогинивает (по коду строчкой ниже) и он вынужден заново вводить е-майл и пароль.
Если это сделано для безопасности, то 100 дней - достаточный срок, чтобы что-то произошло, пока кука действительна.
Можно вынести поведение переавторизации по куке в опции.
Можно просто делать проверку токена по дате последнего обновления, что, на мой взгляд, логично. Постоянные посетители сайта не будут разлогиниваться без своей на то воли.
В icms при авторизации пользователя создается токен в таблице токенов + кука в браузере пользователя. И когда пользователь заходит на сайт, система "узнает" его по этой куке и авторизует, вот тут https://github.com/instantsoft/icms2/blob/e0237a415cc7e6bd84f6830cb951f51943d55cea/system/core/user.php#L246
Однако в этой же строчке идет проверка, не истек ли токен. Токен считается истекшим, если создан 100 дней назад.
Предлагаю проверку токена делать не по дате создания, а по дате последнего обновления. Тем более эта дата уже хранится в таблице токенов в поле date_log. И обновляется каждый раз при авторизации по куке.
В противном случае раз в 100 дней пользователя с сайта разлогинивает (по коду строчкой ниже) и он вынужден заново вводить е-майл и пароль.
Если это сделано для безопасности, то 100 дней - достаточный срок, чтобы что-то произошло, пока кука действительна. Можно вынести поведение переавторизации по куке в опции. Можно просто делать проверку токена по дате последнего обновления, что, на мой взгляд, логично. Постоянные посетители сайта не будут разлогиниваться без своей на то воли.