В общем в очередной раз хочу сделать универсальную либу регистраций/логинов/логаутов и тд. Хочу, значит, провести декомпозицию этой задачи, выделить функциональные блоки в адаптеры. Пока еще слабо представляю как оно будет. 1) StorageAdapters - информацию о пользователях нужно где-то хранить (MySQL/Redis?). 2) AuthAdapters - тут какая-то магия, которая будет взаимодействовать с login/mail/ID+pass или же с openID или facebook или VK 3) SessionAdapters - это кеширующая прослойка между openID и прочими, что бы не спрашивать каждый раз чужой сервер валидный ли токен или нет. В общем предлагаю обсудить пока только вход/выход, не регистрацию, где будут еще is_active, смены/восстановления пароля и тд. Приветствуются советы, UML-диаграммы и прочее.
О, это тема. Нужно выделить класы для работы с разными сервисами в отдельные плагины, и некоторый свой автолоад сделать для них.
нэхай пользователь скармливает ему некий объект, соответствующий некоторому интерфейсу, с именем таблицы пользователей, полями, ресуром (объектом) соединения с БД (или другим харнилищем). В таблице пользователей хранить токен. Twitter вооще выдает бессрочный токен.
когда к нам приходит человек с фейсбука, который до этого у нас не был, то мы его записываем в StorageAdapters? Или это можно вынести в настрйки?
это не сессия в прямом смысле. Запихиваю в куку userId:md5(passHash . SERVER_SALT) - вот тебе и как бы сессия