Next Previous Contents

3. Режимы функционирования

Режимы функционирования паспорта, а также то, как воспринимаются значения остальных переменных, определяется значением переменной mode. В данной версии паспорта поддерживаются следующие режимы:

  1. Режимы работы обычного паспорта
    1. register - первичная регистрация
    2. auth - авторизация
    3. ckicheck - вызывается после авторизации для проверки установки кук
    4. passport - пользовательский паспорт
    5. changereg - изменение пользовательской информации
    6. changepass - изменение пароля
    7. rename - изменение имён на проектах
    8. delete - удаление пользователя
    9. unsubscribe - удаление информации о регистрации на службе
    10. subscribe - подписка на службы Яндекса
    11. loginform - форма авторизации
    12. remember - режим 'вспомнить пароль'
    13. logout - завершение сессии авторизованной работы
    14. tune - настройка режима авторизации
  2. Режимы работы платёжного паспорта (требуется https)
    1. sauth -- платёжная авторизация
    2. secckicheck -- вызывается после платёжной авторизации для проверки установки кук
    3. addsecurepass -- добавление платёжного пароля
    4. changesecurepass -- изменение или удаление платёжного пароля
Ниже эти режимы описаны подробнее.

3.1 Обычная регистрация

Регистрация пользователя на портале, как описано во введении

register - первичная регистрация

При вызове данного режима без дополнительных параметров, паспорт выводит форму для ввода пользовательской информации.

При наличии дополнительных параметров паспорт проверяет их полноту и корректность. Если данных достаточно и при проверке не возникло ошибок, то в базу данных авторизации заносится полученная информация. Если не хватает необходимой информации или в данных содержится ошибка, выводится регистрационная форма с соответствующей диагностикой, при этом заполняются поля, для которых были указаны значения.

После успешной регистрации пользователя паспорт генерирует сессию авторизованной работы в Яндексе.

Если установлена переменная retpath, то паспорт устанавливает в качестве нового адреса значение этой переменной. Если переменная retpath не установлена, то паспорт переходит в режим passport.

passport - меню паспорта

В этом режиме паспорт проверяет наличие сессии авторизованной работы. Если сессия установлена и время её действия не истекло, то выводится информация о регистрации пользователя на различных проектах Яндекса.

Значение переменной retpath в данном режиме игнорируется.

Данный режим активизируется после авторизации, если переменная retpath не установлена.

changereg - изменение пользовательской информации

В этом режиме паспорт проверяет наличие сессии авторизованной работы. Если сессия установлена и время её действия не истекло, то проверяется наличие данных на входе.

Если установлена переменная retpath, то устанавливается новый адрес, соответствующий её значению.

Если переменная retpath не установлена, то активизируется режим passport.

rename - изменение имени на проекте

В этом режиме паспорт проверяет наличие сессии авторизованной работы. Если сессия установлена и время её действия не истекло, то проверяется наличие данных на входе.

Какое именно из служебных имён будет изменено определяется значением переменной from.

При проверке на правильность учитывается идентификатор пользователя. Таким образом, если пользователь решил вернуть себе имя почты, которым он пользовался ранее, то это имя закрепляется за пользователем.

Для всех служб новое имя выдаётся, если не зарезервировано за другим пользователем, а старое просто удаляется.

delete - удаление пользователя

В этом режиме паспорт проверяет наличие сессии авторизованной работы.

Если сессия установлена, пользователю показывается предупреждение, говорящее о списке удаляемых подписок на проектах Яндекса. Для подтверждения операции пользователь должен ввести свой пароль.

После того, как пользователь ввёл свой пароль, его учётная запись удаляется, удаляются также все подписки на всех проектах Яндекса, на которые был подписан пользователь.

unsubscribe - удаление информации о регистрации на службе

В этом режиме паспорт проверяет наличие сессии авторизованной работы. Если сессия установлена и время её действия не истекло, то проверяется наличие данных на входе.

В соответствии со значением переменной from паспорт удаляет части учётной записи, соответствующие вызвавшей службе.

Для подтверждения операции у пользователя запрашивается пароль.

loginform - форма авторизации

При вызове в данном режиме паспорт выводит форму, на которой есть поля для ввода логина и пароля, а также три ссылки:

  1. Активизирует авторизацию - вызывает паспорт в режиме авторизации auth. Введённые пользователем логин и пароль передаются паспорту.
  2. Вызывает паспорт в режиме 'вспомнить пароль' remember
  3. Вызывает паспорт в режиме регистрации нового пользователя register

Данный режим предназначен для использования другими проектами Яндекса. Установив соответствующим образом переменную retpath, проект может вызвать паспорт в данном режиме. При этом паспорт выполнит все необходимые действия, после которых уже авторизованный пользователь вновь вернётся на проект.

auth - авторизация

В данном режиме паспорт проверяет входные данные, и в зависимости от наличия и значения определённых переменных, действует следующим образом:

Данный режим является режимом по умолчанию. Если режим работы паспорта явноне указан, то паспорт работает в режиме авторизации.

ckicheck - авторизация

Данный режим служит для проверки установленности кук. Если он вызывается после режима авторизации auth, то паспорт проверяет вернул ли клиент сессионную куку, или нет. Если клиент кук не вернул, то выводится соответствующее сообщение и пользователю предлагается разрешить куки и пройти авторизацию ещё раз.

После проверки кук данный режим проверяет, нету ли для пользователя сообщений. если сообщения есть - они выводятся.

Если выставлена переменная from проверяется, подписан ли пользователь на соответствующий проект. если пользователь не подписан, то вызывается режим subscribe

В противном случае, пользователь отправляется согласно значению переменной retpath, если она выставлена, или на морду Яндекса.

remember - режим 'вспомнить пароль'

Пользователю выводится форма, с предложением ввести логин, от которого забыт пароль.

Значение переменных from и retpath сохраняется на протяжении работы в данном режиме, таким образом что после получения авторизационной информации и успешной авторизации пользователь будет переадресован на соответствующий адрес.

logout

При вызове в данном режиме паспорт устанавливает значение переменной Session_id равным 'deleted', а время удаления равным 'сейчас'. Соответствующая удаляемой сессии запись в базе данных авторизации удаляется. Таким же обрахом удаляются все куки, сопровождающие пользователя.

subscribe

Этот режим служит для подписки на проекты яндекса.

То, на какой проект будет производится подписка определяется значение переменной from.

По завершении, пользователь отправляется согласно значению переменной retpath, если она выставлена, или на морду Яндекса.

tune

В данном режиме пользователь может изменить правила авторизации. Можно выбрать один из трёх режимов авторизации:

Для подтверждения изменеий запрашивается пароль.

Все куки выставляются согласно вновь выбранному режиму.

По заврешении, пользователь отправляется согласно значению переменной retpath, если она выставлена, или на морду Яндекса.

changepass

В этом режиме пользователь может изменить свой пароль. Новый пароль необходимо ввести в двух экземплярах. Для подтверждения запрашивается старый пароль.

3.2 Платёжная регистрация

Для увеличения степени защищённости эккаунта пользователя добавлена дополнительная, платёжная, авторизация, которая производится только по шифрованному (https) каналу. Предполагается, что этот режим будет использоваться для операций с личным счётом пользователя. Пользователь должен быть успешно авторизован паспортом в обычном режиме ( auth), чтобы работать со своим платёжным эккаунтом.

В каждом режиме работы с платёжным паролем проверяется:

  1. Наличие https-соединения. Если оно не установлено -- выводится форма с соответствующим диагностическим сообщением.
  2. Наличие регистрации на портале. Если у пользователя отсутствует основная регистрация, то паспорт перенаправляет браузер пользователя на режим auth для логина на портале.

sauth

В данном режиме паспорт проверяет входные данные, и в зависимости от наличия и значения определённых переменных, действует следующим образом:

secckicheck

Данный режим служит для проверки установленности куки. Он вызывается после режима авторизации sauth, при этом паспорт проверяет, вернул ли клиент защищённую сессионную куку, или нет. Если клиент куку не вернул, то выводится соответствующее сообщение и пользователю предлагается разрешить куки и пройти авторизацию ещё раз.

В противном случае, пользователь отправляется согласно значению переменной retpath, если она выставлена, или на режим passport

addsecurepass

В этом режиме пользователю предлагается завести себе платёжный эккаунт. Поскольку пользователь уже зарегистрирован на портале, от него требуется только пароль и e-mail, если пользователь не ввёл свой e-mail при регистрации главного эккаунта.

changesecurepass

Режим изменения и удаления платёжного пароля. Для успешного изменения пароля необходимо ввести текущий пароль. Если нажата кнопка "удалить платёжный пароль", то пользователю выдаётся страница подтверждения удаления платёжного пароля с предупреждением о том, доступ к какми данным и сервисам он может потерять.


Next Previous Contents