За последние 24 часа нас посетили 18505 программистов и 1746 роботов. Сейчас ищут 815 программистов ...

JavaScript browser app + RESTful service question

Тема в разделе "JavaScript и AJAX", создана пользователем Professor, 24 июн 2012.

  1. Professor

    Professor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    Добрый день !

    Есть идея создать один сервис, на котором будет авторизация. Долго думал над имплементацией, пришел к интересной идее: создать полностью автономное JavaScript приложение, которое будет общаться с REST сервером. Интересует следующий вопрос: по идеологии, REST должен быть stateless, что означает, не хранить никакую информацию о сеансе. Т.е. каждый запрос должен содержать ровно необходимое количество данных для правильного ответа. Что меня настораживает, так это авторизация/аутентификация. Получается, что бы полностью придерживаться идеологии REST, необходимо с каждым запросом передавать пару логин/парол пользователя ? А JavaScript app будет хранить их в localstoage и отправлять каждый раз с запросом. Я мыслю в правильном направлении ? С удовольствием выслушаю идеи/критику.

    P.S. Извиняюсь, если не правильно выбрал тему форума, эта показалась наиболее подходящей.
     
  2. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    чем плох идентификатор сессии в даном случае?
     
  3. Professor

    Professor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    Requests are Stateless – Central to REST is the idea of statelessness. That is, each request handled by the server can be done without knowing anything about any previous request. Or to put it another way, the client supplies all necessary information in the request needed by the server to fulfill it. (c) REST – Can You do More than Spell It?

    Перевод:
    Запросы должны быть stateless - центральная идея вокруг REST'a это statelessness. Т.е., каждый запрос, обрабатываемый сервером, может быть выполнен им, не зная ничего о предыдущих запросах. Или, другими словами, в запросе клиент предоставляет всю информацию, необходимую для того, что бы сервер мог его выполнить.

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

    Идентификатор сессии подразумевает, что сервер уже знает, что клиент аутентифицирован.

    Кстати, что меня больше всего тревожит, это безопасность такого рода общения между клиентом и сервером. Будет ли безопасность клиента в таком случае подвержена большей опасности (MITM) ? Предположим два случая, если используется https и http.

    Как мне кажется, большой разницы нет, потому что с таким же успехом можно было бы перехватить идентификатор сессии и получить доступ к сессии, но всё же, это всё таки более безопасно, чем если злоумышленник получит username/password.
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    такая задача чем-то кроме любопытства оправдана? =)
     
  5. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    кстати, вот это не факт
    идентификатор сессии подорумевает что сессия начата. а залогинился клиент или нет - другой вопрос.
     
  6. Professor

    Professor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    Хочу убить двух зайцев одним выстрелом - к АПИ можно будет обращаться из других приложений, например, мобильных.
    Но любопытство на первом месте, хочу подтянуть JavaScript : )
    Отчасти согласен, но в большинстве случаев это будет означать именно то, что юзер залогинился.
     
  7. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
  8. Professor

    Professor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    То, что нужно, спасибо