спецификация протокола oaap bp

advertisement
34
СПЕЦИФИКАЦИЯ ПРОТОКОЛА OAAP BP
Rev. 0.1
1
Терминология
User-agent (web-браузер) – приложение, установленное на компьютере
пользователя, для просмотра информации в интернете, используя протокол
HTTP.
Пользователь – человек, желающий пройти авторизацию посредством
протокола OAAP.
Портал-Клиент (П-К) – web-приложение, доступ к которому хочет
получить пользователь.
Портал-Сервер (П-С) – web-приложение, которое хранит ресурсы,
необходимые пользователю для получения доступа к П-К.
UNIX-время – количество секунд, прошедших с полуночи (00:00:00
UTC) 1 января 1970 года. Unix-время не предполагает GMT.
2
Общее
OAAP BP, в терминах протокола OAAP представляет собой протокол,
который помогает пользователям выбрать П-С для ускоренной авторизации
(регистрации) на П-К. Главной задачей OAAP BP является быстрый поиск
порталов-серверов, на которых зарегистрирован пользователь и передача
списка П-С в отсортированном по некоторым критериям виде порталуклиенту, который, в свою очередь, предлагает пользователю выбрать один из
них. В этой работе будет описан OAAP BP в качестве выделенного сервера.
3
Сохраняемые данные
Вся информация, по протоколу OAAP BP, сохраняется в файлы cookie
web-браузера пользователя. Хранятся следующие данные:
35
4
1)
URL адрес портала-сервера.
2)
Время окончания сессии на портале-сервере (UNIX-время).
3)
Время регистрации портала-сервера на Backend (UNIX-время).
Сортировка списка П-С
Далее представлен список критериев сортировки, начиная от наиболее
важного:
1)
Открыта ли сессия пользователем на П-С. Первыми следует
выдавать П-С на которых сейчас у пользователя открыта сессия.
2)
Дата последней авторизации. Первыми следует выдавать те П-С,
на которых пользователь авторизовался позже.
5
Формат сообщений
Все параметры и их значения должны быть в нижнем регистре.
Передаются они
путём прикрепления их при открытии URL адресов по
HTTP GET. Для удобства чтения будем отображать их в виде:
Поле1: данные1;
…
ПолеN: данныеN;
6
Функции OAAP BP
6.1 Регистрация П-С
Каждый П-С может добавить себя в HTTP Cookie user-agent
пользователя. Для этого П-С должен перенаправить User-agent пользователя
на URL адрес сервера OAAP BP с параметрами по GET:
Аction: add;
Stime: <ВРЕМЯ_В_СЕКУНДАХ>;
Url: <URL>;
36
Return_to: <URL>;
Где «stime» — это время в секундах, которое ещё будет активна сессия
пользователя на П-С.
«return_to» — URL адрес, на который следует перенаправить
пользователя после регистрации П-С.
«Url» — URL адрес, который будет использоваться для начала
авторизации посредством протокола OAAP.
Получая эти параметры, сервер «Backend» высчитывает время
окончания сессии на П-С, а так же сверяет URL адрес и заголовок
«HTTP_REFERER». После сервер OAAP BP записывает в JSON формате
следующие данные:
1) URL П-С (url: <URL>).
2) Время окончания сессии в формате UNIX-время (sdate: <Время>).
3) Текущее время в формате UNIX-время (date: <Время>).
В случае успеха Backend должен зарегистрировать в cookies
пользователя переменную с названием доменного имени П-С или обновить
Cookie, если с таким именем уже существует, и перенаправить User-agent
пользователя на адрес return_to с параметром по GET «result=success». Если
доменное имя в URL адресе и заголовке «HTTP_REFERER» не совпадает или
возникла другая ошибка, следует вернуть пользователя на ПС с параметром
по GET «result=error».
6.2 Передача списка П-С порталу-клиенту
В тот момент, когда пользователь начинает авторизацию (регистрацию)
используя протокол OAAP П-К, для получения списка П-С пользователя,
может перенаправить его user-agent на URL адрес сервера OAAP BP
параметрами по GET:
Action: get;
Return_to: <URL>;
с
37
Где «return_to» — URL адрес, на который следует вернуть user-agent
пользователя с результатом выполнения операции.
После чего Backend достаёт информацию из файлов HTTP Cookie
пользователя сортирует, используя описанный выше принцип, и создаёт
строку из доменных имён П-С разделённых через «,». User-agent
пользователя следует перенаправить на URL адрес «return_to» с параметром
«pss=<список>» где список – это список порталов-серверов.
6.3 Примечание
Все дополнительные параметры, которые пересылаются вместе с
требуемыми параметрами, будут переданы обратно.
Download