Библиотеки, такие как Beaker , называют то, что вы хотите, «сеансом на основе файлов cookie». В идеале, вы должны просто использовать Beaker или другую библиотеку, которая обеспечивает такую функциональность, но в любом случае ниже приведено описание их работы:
Данные сеанса (которые могут быть просто идентификатором пользователя или флагом, указывающим, что у них есть разрешение) хранятся в обычном клиентском cookie. Он может быть зашифрован с помощью секретного ключа и хранится вместе с HMAC , созданным с использованием другого ключа . Дополнительное шифрование предотвращает чтение данных пользователем, а HMAC гарантирует, что они не смогут его изменить.
В качестве дополнительного примечания вы говорите «регистрация и ведение учетной записи OpenID не требуется», но затем говорите о своей собственной аутентификации с использованием SHA1 и паролей. Помните: получить правильную аутентификацию может быть непросто, и лишь немногие пользователи хотят зарегистрировать другую учетную запись со своим паролем, если они могут использовать существующую учетную запись для входа.