Режимы функционирования паспорта, а также то, как воспринимаются значения остальных переменных, определяется значением переменной mode. В данной версии паспорта поддерживаются следующие режимы:
Регистрация пользователя на портале, как описано во введении
При вызове данного режима без дополнительных параметров, паспорт выводит форму для ввода пользовательской информации.
При наличии дополнительных параметров паспорт проверяет их полноту и корректность. Если данных достаточно и при проверке не возникло ошибок, то в базу данных авторизации заносится полученная информация. Если не хватает необходимой информации или в данных содержится ошибка, выводится регистрационная форма с соответствующей диагностикой, при этом заполняются поля, для которых были указаны значения.
После успешной регистрации пользователя паспорт генерирует сессию авторизованной работы в Яндексе.
Если установлена переменная
retpath, то паспорт устанавливает в качестве нового адреса значение этой переменной. Если переменная
retpath не установлена, то паспорт переходит в режим passport.
В этом режиме паспорт проверяет наличие сессии авторизованной работы. Если сессия установлена и время её действия не истекло, то выводится информация о регистрации пользователя на различных проектах Яндекса.
Значение переменной
retpath в данном
режиме игнорируется.
Данный режим активизируется после авторизации, если переменная
retpath не установлена.
В этом режиме паспорт проверяет наличие сессии авторизованной работы. Если сессия установлена и время её действия не истекло, то проверяется наличие данных на входе.
Если установлена переменная
retpath, то устанавливается новый адрес, соответствующий её значению.
Если переменная
retpath не установлена, то активизируется режим
passport.
В этом режиме паспорт проверяет наличие сессии авторизованной работы. Если сессия установлена и время её действия не истекло, то проверяется наличие данных на входе.
Какое именно из служебных имён будет изменено определяется значением переменной
from.
При проверке на правильность учитывается идентификатор пользователя. Таким образом, если пользователь решил вернуть себе имя почты, которым он пользовался ранее, то это имя закрепляется за пользователем.
Для всех служб новое имя выдаётся, если не зарезервировано за другим пользователем, а старое просто удаляется.
В этом режиме паспорт проверяет наличие сессии авторизованной работы.
Если сессия установлена, пользователю показывается предупреждение, говорящее о списке удаляемых подписок на проектах Яндекса. Для подтверждения операции пользователь должен ввести свой пароль.
После того, как пользователь ввёл свой пароль, его учётная запись удаляется, удаляются также все подписки на всех проектах Яндекса, на которые был подписан пользователь.
В этом режиме паспорт проверяет наличие сессии авторизованной работы. Если сессия установлена и время её действия не истекло, то проверяется наличие данных на входе.
В соответствии со значением переменной
from паспорт удаляет части учётной записи, соответствующие вызвавшей службе.
Для подтверждения операции у пользователя запрашивается пароль.
При вызове в данном режиме паспорт выводит форму, на которой есть поля для ввода логина и пароля, а также три ссылки:
auth. Введённые пользователем логин и пароль передаются паспорту.
remember
registerДанный режим предназначен для использования другими проектами Яндекса. Установив соответствующим образом переменную
retpath, проект может вызвать паспорт в данном режиме. При этом паспорт выполнит все необходимые действия, после которых уже авторизованный пользователь вновь вернётся на проект.
В данном режиме паспорт проверяет входные данные, и в зависимости от наличия и значения определённых переменных, действует следующим образом:
ckicheck для проверки установки кук и последующего процессинга.
ckicheck.Данный режим является режимом по умолчанию. Если режим работы паспорта явноне указан, то паспорт работает в режиме авторизации.
Данный режим служит для проверки установленности кук. Если он вызывается после режима авторизации
auth, то паспорт проверяет вернул ли клиент сессионную куку, или нет. Если клиент кук не вернул, то выводится соответствующее сообщение и пользователю предлагается разрешить куки и пройти авторизацию ещё раз.
После проверки кук данный режим проверяет, нету ли для пользователя сообщений. если сообщения есть - они выводятся.
Если выставлена переменная
from проверяется, подписан ли пользователь на соответствующий проект. если пользователь не подписан, то вызывается режим
subscribe
В противном случае, пользователь отправляется согласно значению переменной
retpath, если она выставлена, или на морду Яндекса.
Пользователю выводится форма, с предложением ввести логин, от которого забыт пароль.
Значение переменных
from и
retpath сохраняется на протяжении работы в данном режиме, таким образом что после получения авторизационной информации и успешной авторизации пользователь будет переадресован на соответствующий адрес.
При вызове в данном режиме паспорт устанавливает значение переменной
Session_id равным 'deleted', а время удаления равным 'сейчас'. Соответствующая удаляемой сессии запись в базе данных авторизации удаляется. Таким же обрахом удаляются все куки, сопровождающие пользователя.
Этот режим служит для подписки на проекты яндекса.
То, на какой проект будет производится подписка определяется значение переменной
from.
По завершении, пользователь отправляется согласно значению переменной
retpath, если она выставлена, или на морду Яндекса.
В данном режиме пользователь может изменить правила авторизации. Можно выбрать один из трёх режимов авторизации:
Для подтверждения изменеий запрашивается пароль.
Все куки выставляются согласно вновь выбранному режиму.
По заврешении, пользователь отправляется согласно значению переменной
retpath, если она выставлена, или на морду Яндекса.
В этом режиме пользователь может изменить свой пароль. Новый пароль необходимо ввести в двух экземплярах. Для подтверждения запрашивается старый пароль.
Для увеличения степени защищённости эккаунта пользователя добавлена дополнительная, платёжная, авторизация, которая производится только по шифрованному (https) каналу. Предполагается, что этот режим будет использоваться для операций с личным счётом пользователя. Пользователь должен быть успешно авторизован паспортом в обычном режиме (
auth), чтобы работать со своим платёжным эккаунтом.
В каждом режиме работы с платёжным паролем проверяется:
auth для логина на портале.В данном режиме паспорт проверяет входные данные, и в зависимости от наличия и значения определённых переменных, действует следующим образом:
secckicheck для проверки установки кук.
secckicheck.Данный режим служит для проверки установленности куки. Он вызывается после режима авторизации
sauth, при этом паспорт проверяет, вернул ли клиент защищённую сессионную куку, или нет. Если клиент куку не вернул, то выводится соответствующее сообщение и пользователю предлагается разрешить куки и пройти авторизацию ещё раз.
В противном случае, пользователь отправляется согласно значению переменной
retpath, если она выставлена, или на
режим passport
В этом режиме пользователю предлагается завести себе платёжный эккаунт. Поскольку пользователь уже зарегистрирован на портале, от него требуется только пароль и e-mail, если пользователь не ввёл свой e-mail при регистрации главного эккаунта.
Режим изменения и удаления платёжного пароля. Для успешного изменения пароля необходимо ввести текущий пароль. Если нажата кнопка "удалить платёжный пароль", то пользователю выдаётся страница подтверждения удаления платёжного пароля с предупреждением о том, доступ к какми данным и сервисам он может потерять.