Короче, я так понимаю, что чтобы сделать нормальный API, надо сделать следующее: а) делаем множественные API keys, по одному для каждой аппликухи, revoked individually; б) если в HTTP-запросе передан X-Api-Key: <api-key>, то происходит авторизация под соответствующего юзера, при этом не проверяется ни CORS, ни CSRF (это вроде бы позволяет делать веб-клиентов с эксплицитной авторизацией, но я не уверен); в) JSONP в жопу (его нет и не будет: http://caniuse.com/cors); г) если X-Api-Key не указан, то проверяется кука и CSRF (в том числе для GET-запросов); д) глобального CORS (Origin="*") не будет, потому что это безумие; сейчас есть CORS для одного спец-домена, владелец которого тестирует альтернативный фронт; е) api-key через query param передавать не будем. Я ничего не упустил? #mokum-dev
После имплементации вышеизложенного 1) @adworse сможет перестать адски скрейпить CSRF из страниц; 2) @ai212983 может сделать в андроид-клиенте альтернативную/основную авторизацию через API key; 3) теоретический автор Телеграм-бота сможет взять у юзера API-key и пользоваться им; 4) @n1313 проще будет сделать свой мета-клиент. ‎- псы в рапиде
Чтобы подписаться на фею, необходимо и достаточно знать UUID ривера, который отдается только вместе с ривером (то есть с проверкой всех credentials); ‎- псы в рапиде
когда все это будет продумано и реализовано, сразу будет описание API, благо у нас теперь есть место для документации; ‎- псы в рапиде
Вопрос с OAuth2 отходит на второй план тогда. ‎- псы в рапиде
мне бы хотелось проверить вживую б) (и то, что он делает ненужным в)) ‎- крадецът на ябълки
@mindszenty: не понимаю — а зачем JSONP в 2015 году? ‎- псы в рапиде
возможно, я просто отстал от жизни. ‎- крадецът на ябълки
@mindszenty: это не ответ! ты скажи, зачем тебе нужен JSONP, а мы убедимся, что есть более удачные решения. ‎- псы в рапиде
В бы советовал в ответе указывать X-Api-Version: и дать возможность указывать ожидаемую версию в запросе. При первом же breaking change это позволит клиентским приложениям реагировать вменяемо. Также есть смысл настоятельно рекомендовать авторам клиентов показывать текст идущий с определенными ошибками прямо на экран пользователям. Это позволит дать пользователям внятные инструкции даже если автор приложения забыл/поленился и вообще имеет шанс сберечь всем много нервов. ‎- лишний бобр
Только вопрос, почему не сделать Oauth2 с Omniauth? там есть какие то неочевидные камни? ‎- uncanny нейросеть
X-Api-Version можно начать отдавать после того, как версионность появится. Нет X-Api-Version - значит, имеем дело с первой версией. Про показывать текст, идущий с ошибками - это понятно, показать текст ошибки с сервера всегда проще, чем выдумывать тексты самому / локализовывать их, етц. Т.е. рекомендовать, на мой взгляд, излишне. ) ‎- госкомпиляторг
Ну и, кстати, с авторизацией сейчас лично у меня никаких проблем - все нормально авторизовывается, перезапрашивает автоматом старые куки, привязывается к android accounts manager, етц. ‎- госкомпиляторг
@ai212983: Вставить 1.0.0.0 в первую же версию ничего не стоит. А вот если вдруг в 1.0.0.1 будет несовместимость, то отдавать X-Api будет поздно, ибо никто не будет ждать заголовка, которого не было в момент разработки. То же самое с рекомендацией - не было в чеклисте, 95% забудет (а если было, то забудет 60%) ‎- лишний бобр
@1master: там уже все запросы к API начинаются с /api/v1. ‎- псы в рапиде
а что такое "фея"? ‎- Тринадцатый
А есть какая-нибудь документация или описание по существующим эндпоинтам? Я нашел, как получать лайки, комменты, пост и первую страницу постов юзера. А свой хоумфид (и вторую страницу его) как получать? Есть окошко для этого? ‎- Тринадцатый
@n1313: добавляешь к любому урлу .json. Для морды урл будет https://mokum.ru/index.json Вторая страница получается точно так же как и обычный html: https://mokum.ru/index.json?page=2 ‎- псы в рапиде
о, "index" я чото и не догадался подставить. спасибо! ‎- Тринадцатый
@squadette, можешь приблизительно оценить, когда API будет готов? Несколько дней, несколько недель, несколько месяцев? Я тут думаю, писать мне выковыривалку CSRF-токена или погодить. ‎- Тринадцатый
вопрос все еще актуален. ‎- Тринадцатый
@n1313: неделя-две. ‎- псы в рапиде
спасибо! ‎- Тринадцатый