EagleMoor
@EagleMoor
PHP Yii2 RESTful API Developer

RESTful API и реали Безгражданства?

Одним из ограничений RESTful API является Безгражданство. Во всех мной прочитанных примерах это выглядит как "Не запоминайте состояние девайса". Так ли это? И как тогда хранить информацию об девайсе?

Приведу пример из своей практики. Мне необходимо авторизовать девайс, выдать ему token и сохранить о девайсе какие-то данные (device id, push token).

Сейчас я произвожу авторизацию и сохраняю в session информацию о девайсе. По сути token у меня это session_id. B этой сессии я храню user_id + device_id.

Правильно ли я поступаю в рамках RESTful API или есть более красивый и правильный подход?
  • Вопрос задан
  • 2750 просмотров
Решения вопроса 1
saintbyte
@saintbyte
Django developer
"Безгражданство" - Веселый перевод =) Смысл такой: отсутствие состояния (stateless). То есть запросы - это получение информации в зависимости от ПЕРЕДАННЫХ параметров , сервер между запросами не хранит ничего и не знает о предыдущих запросах нечего. Серверу в должно быть пофиг на все кроме того откуда брать параметры. Но так стали REST стали использовать для получения информации конкретными пользователями , пришлось добавить access_token. Это как бы служит для авторизации - но я бы назвал это "установление переменных среды". Получили токен - нашли "среду" конкретно пользователя развернули , а у пользователя там свои переменные и права - и все довольны. А вообще раз работает то не трогайте . Думаете от хорошей жизни появился REST - мне кажется что SOAP просто тяжко.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы