Сказка навсегда остановлена.
Мы безмерно благодарны каждому из вас за время, которое вы подарили нашей игре, истории, которые вы создали, поддержку, которую оказывали друг другу и нам.
Надеемся, Сказка останется светлым и добрым воспоминанием в вашей жизни, и вы будете вспоминать наши приключения с улыбкой.
Это были замечательные тринадцать лет. Спасибо вам за них.
С любовью, команда Сказки.
Tiendil
|
|
[НБ]
Магистр
могущество: 14696
разработчик
дварф
Халлр
106 уровня
|
А вообще кто-нибудь взялся что-то делать? Linfar делает клиент под андроид, ещё делают плагин для браузеров (но о прогрессе я уже давно не слышал).
|
Hellspawn
|
|
без гильдии
могущество: 2470
длань судьбы
мужчина
Хеля
118 уровня
|
если подгружать JSON из URL, то пишут самое оно использовать функции jQuery $.getJSON(url, function (json) {
а уж jQuery насколько я понял щас в любом SDK...
|
Tiendil
|
|
[НБ]
Магистр
могущество: 14696
разработчик
дварф
Халлр
106 уровня
|
Для запросов к серверу её действительно удобно использовать.
jQuery — это отдельная универсальная библиотека, не знаю в какой SDK она входит. В общем-то она самодостаточна.
|
Linfar
|
|
без гильдии
могущество: 2049
длань судьбы
дварф
Arkil
105 уровня
|
Кажется разумным добавить account_id в ответ логина. Иначе после успешного логина придется делать лишний запрос к /api/info. А учитывая то, что нужно в начале общения с сервером ещё получить csrf токен - получится 3 запроса на логин.
|
Tiendil
|
|
[НБ]
Магистр
могущество: 14696
разработчик
дварф
Халлр
106 уровня
|
Сделаю.
Кстати, game/info можно вызывать без передачи account_id. Код для этого поправил, а документацию забыл.
|
Linfar
|
|
без гильдии
могущество: 2049
длань судьбы
дварф
Arkil
105 уровня
|
Кстати, game/info можно вызывать без передачи account_id. Код для этого поправил, а документацию забыл. А это хорошо. Только я уже сделал с дополнительным запросом :)
|
Хабаси
|
|
без гильдии
могущество: 13243
длань судьбы
оркесса
Гро-Дур
105 уровня
|
Ребят, я в этих вопросах -- тёмный лес, древняя тайга и болотная тундра.
Но меня спросил приятель: "Есть ли у Сказки мобильный клиент?" Так что ответить?
|
bea231
|
|
[^_^]
Рекрут
могущество: 27
эльф
Элфилинор
54 уровня
|
Как долго храниться сессия игрока при установленном флаге 'remember' в запросе 'login'?
|
bea231
|
|
[^_^]
Рекрут
могущество: 27
эльф
Элфилинор
54 уровня
|
“Есть ли у Сказки мобильный клиент?” Сейчас нет, но если у хватит на это сил и умелки программирование под андроид, то сделаю где-то к Новому Году первую версию.
|
Tiendil
|
|
[НБ]
Магистр
могущество: 14696
разработчик
дварф
Халлр
106 уровня
|
Как долго храниться сессия игрока при установленном флаге 'remember' в запросе 'login'? год о сделаю где-то к Новому Году первую версию. будем ждать
|
bea231
|
|
[^_^]
Рекрут
могущество: 27
эльф
Элфилинор
54 уровня
|
- Не сразу понял, что csrfmiddlewaretoken и csrftoken равны. Наверное ошибка начинающего, но для последователей было бы неплохо осветить этот момент в документации :)
- В новой версии одинаковые предметы в рюкзаке отображаются в одном слоте с указанием количества. В API, вроде бы, пока что "один предмет" = "один слот". Так?
- Зачем при "logout" именно POST запрос? (просто интересно)
- Если при запросе не указать sessionid вообще, то в ответе его тоже нет, так и должно быть?
- Проблема при 'login'.
Первый запуск приложения: получены и сохранены csrftoken и sessionid, вызван 'login', все успешно. 'logout' произведен не был. Второй запуск приложения: восстановлены ранее сохраненные csrftoken и sessionid, вызван 'info'. В возвращенных данных account_id равен null, хотя вроде бы должен был воспользоваться "старой" сессией.
Сообщение изменено
|
Tiendil
|
|
[НБ]
Магистр
могущество: 14696
разработчик
дварф
Халлр
106 уровня
|
Не сразу понял, что csrfmiddlewaretoken и csrftoken равны. Наверное ошибка начинающего, но для последователей было бы неплохо осветить этот момент в документации :) В доках явно указано, что csrfmiddlewaretoken должен быть установлен в значение куки. В новой версии одинаковые предметы в рюкзаке отображаются в одном слоте с указанием количества. В API, вроде бы, пока что “один предмет” = “один слот”. Так? Да, формат возвращаемых данных меняться не будет — отображайте как хотите. Зачем при “logout” именно POST запрос? (просто интересно) Формально, GET запросы получают информацию, не изменяя состояние сессии, POST запросы изменяют состояние сессии. Logout — это изменение состояния сессии. Если при запросе не указать sessionid вообще, то в ответе его тоже нет, так и должно быть? Видимо должно. Наверно, я плохо изучил поведенеи Django в этом случае. При логине должно устанавиться. Отражу это в документации. Проблема при 'login'. Странно. Либо всё-таки были произведены какие-то дополнительные действия (логаут, изменение значений идентификаторов), либо просто кончилось действие сессии (2 недели, если не установлена флаг remember).
|
bea231
|
|
[^_^]
Рекрут
могущество: 27
эльф
Элфилинор
54 уровня
|
Хмм, с моей стороны процесс выглядит примерно так: 1) Запрос info c пустым csrftoken и sessionid=1 (если не указать, то в ответе не будет валидного sessionid). Ответ: нормальный JSON со статусом "ok" (account_id конечно же ноль, до этого не логинились). В cookies лежат похожие на правильные csrftoken и sessionid. Сохраняю их. 2) Запрос login с сохраненными cookies (те же самые значения, которые пришли из запроса info. Ответ: нормальный JSON со статусом "ok". account_id указан. Но в cookies лежат новые csrftoken и sessionid.
P.S. поправил у себя установку cookies. Теперь нормально восстанавливается из сохраненной сессии. Но значениея csrftoken и sessionid все равно меняются при "login"- запросе.
Сообщение изменено
|
Нико д`Лас
|
|
[ϟ]
Боец
могущество: 3275
длань судьбы
гоблин
Некр-Мон
91 уровня
|
У меня такой интересный вопрос по безопасности. А что мешает сторонним разработчикам сохранять данные пользователя к себе на сервер? Всегда это интересовало, с момента выхода клиента для вк под андроид(официальный появился позже, по моему). Вот есть приложение, пользователь вводит туда свои данные, а они раз и в бд к разработчика приложения. bea231Хмм, с моей стороны процесс выглядит примерно так: 1) Запрос info c пустым csrftoken и sessionid=1 (если не указать, то в ответе не будет валидного sessionid). Ответ: нормальный JSON со статусом “ok” (account_id конечно же ноль, до этого не логинились). В cookies лежат похожие на правильные csrftoken и sessionid. Сохраняю их. 2) Запрос login с сохраненными cookies (те же самые значения, которые пришли из запроса info. Ответ: нормальный JSON со статусом “ok”. account_id указан. Но в cookies лежат новые csrftoken и sessionid.
P.S. поправил у себя установку cookies. Теперь нормально восстанавливается из сохраненной сессии. Но значениея csrftoken и sessionid все равно меняются при “login”- запросе.
Возможно, у тебя первое действие выполняется без проверки, установлены ли кукисы токена и сессии? Т.е. оно всегда сбрасывает значения токена на пустой, а сессии на 1.
Сообщение изменено
|
Tiendil
|
|
[НБ]
Магистр
могущество: 14696
разработчик
дварф
Халлр
106 уровня
|
Нико д`ЛасУ меня такой интересный вопрос по безопасности. А что мешает сторонним разработчикам сохранять данные пользователя к себе на сервер?
Тут есть два вариант. 1. В простом случае (как это сделано в апи Cказки) — ничего. 2. Если чуть посложнее, то делают вот так: http://ru.wikipedia.org/wiki/OAuth — тогда пользователь не передаёт логин/пароль сторонним разработчикам.
|