Ну если решили собственный механизм авторизации на куках, то я обычно, если не для Пентагона пишу, делаю так:
Храню в куках userid и hash сгенерированной сессии
На сервере проверяю в какой-нить функции типа enterSession наличие куки и если есть- ищу по куках сессию для пользователя userid и сходится ли IP на которую он открыт с тем, с которого пытаются сделать запрос. Если все ОК заполняю какой нить $CURRENT_USER массив c основной инфой, иначе =null; Тогда, если $CURRENT_USER!=null значит авторизован.
Сессии храню в таблицах в озу в Nosql. После, обычно, 60 мин бездействия, сессию закрываю. Для особо критичных действий - прошу указать текущий пароль...
собственно не многим отличается от сесcий php...