Feed/Account
Содержание |
[править] Описание
Фид account представляет собой прокси-фид к аккаунту пользователя. Предоставляет информацию о зарегистрированном имени пользователя и его группах. Этот фид обязателен и включён в основной протокол.
[править] Формат
Типичное тело фида без заголовка.
{ "account": { "account": "impomezia", "groups": [ "registered" ] } }
[править] Права доступа
По умолчанию фид доступен для чтения для всех пользователей.
[править] Запросы
[править] reg
Запрос на регистрацию, правами на этот запрос обладает только пользователь, которому принадлежит этот фид.
[править] Пример запроса
{ "action": "reg", "name": "admin", "pass": "WGZXOOQFYDWQC5TYPJHRK5H7AB27OUQ6OA" }
В это примере создаётся запрос на регистрацию пользователя admin с паролем qwerty. Пароль на сервер не передаётся, он хешируется в SHA1 к нему добавляется 1 байт 0x70 и затем кодируется в Base32. Запрос также может содержать поля q и a для идентификаторов секретного вопроса и ответа на него, формат идентификаторов SHA1 от текста вопроса или ответа плюс байт 0x6D и приведение к текстовому виду с помощью Base32.
[править] Ответ при успешной регистрации
{ "action": "reg", "name": "admin" }
Также клиенту будет отослано тело фида и всем подписчикам пользователя отравлен заголовок. Поле name содержит зарегистрированное имя пользователя.
[править] Коды ошибок
| Код ошибки | Описание |
|---|---|
| 400 Bad Request | Некорректной запрос или пользователь уже зарегистрирован. |
| 404 Object Already Exists | Запрашиваемое имя для регистрации уже занято. |
| 500 Internal Error | Другая внутренняя ошибка сервера. |
[править] reset
Запрос на сброс пароля, правами на этот запрос обладает только пользователь, которому принадлежит этот фид. Формат запроса и ответа в случае успеха, полностью аналогичны запросу reg за исключением того что значение поля action изменяется на reset и в запросе в поле pass находится новый пароль.
[править] Коды ошибок
| Код ошибки | Описание |
|---|---|
| 400 Bad Request | Некорректной запрос или пользователь уже авторизирован. |
| 401 Unauthorized | Любая ошибка связанная с некорретным секретным вопросом или ответом на него. |
| 403 Not Found | Пользователь с указанным именем отсутсвует на сервере. |
| 500 Internal Error | Другая внутренняя ошибка сервера. |
[править] login
Запрос на авторизацию, правами на этот запрос обладает только пользователь, которому принадлежит этот фид.
[править] Пример запроса
{ "action": "login", "name": "admin", "pass": "WGZXOOQFYDWQC5TYPJHRK5H7AB27OUQ6OA" }
[править] Ответ при успешной авторизации
{ "action": "login", "cookie": "O27MBNI4WKQ4CKTZB7W7THHCO7IYDO3TIM", "nick": "imp" }
Поле nick содержит ник зарегистрированного пользователя, поле cookie - Base32 кодированный идентификатор Сookie. После получения этого ответа клиент отключается от сервера устанавливает новый Сookie и ник и после этого заново подключается к серверу.
[править] Коды ошибок
| Код ошибки | Описание |
|---|---|
| 400 Bad Request | Некорректной запрос или пользователь уже авторизирован. |
| 402 Forbidden | Неверный пароль. |
| 403 Not Found | Пользователь с указанным именем отсутсвует на сервере. |
| 500 Internal Error | Другая внутренняя ошибка сервера. |
[править] password
Запрос на изменение пароля или секретного вопроса.
[править] Пример запроса
{ "action": "password", "new": "4XU7UG5DD3GRV2CPOXFKUR2PHJTD6BPUOA", "pass": "WGZXOOQFYDWQC5TYPJHRK5H7AB27OUQ6OA" }
В поле pass передаётся текущей пароль, в поле new новый пароль, также могут передаваться поля q и а для передачи нового секретного вопроса и ответа на него.
[править] Ответ в случае успеха
Ответ содержит только одно поле action со значением password.
[править] Коды ошибок
| Код ошибки | Описание |
|---|---|
| 400 Bad Request | Некорректной запрос или пользователь не передал старый пароль. |
| 401 Unauthorized | Пользователь не авторизирован. |
| 402 Forbidden | В случае если пользователь передал неверный пароль. |
| 500 Internal Error | Другая внутренняя ошибка сервера. |