Если вы не установите значение для expirationDate, срок действия файла cookie истечет, когда пользователь закроет браузер.
Если вы установите значение, то оно должно быть текущим временем + сколько секунд до истечения срока его действия.
Например:
{expirationDate: (new Date().getTime()/1000) + 3600}
установит его как текущее время плюс 3600 секунд, так что час в будущем.
Вы устанавливали его на 3600 после базового времени UNIX, которое является началом 1970 года, поэтому оно сразу истекло.