Понимание REST?

1.) Если апи используется тем же сервисом на котором он же и расположен можно ли хранить access_token у юзера в куках для обращения к rest api? Типо есть на бэкенде обычный Веб-апликейшин, какая-то его часть restful, есть клиентсайд, которому нужно по токену обращаться к rest api, т.к. токен нужно где-то сохранять на клиенте (ну не в оперативной же памяти, которая даунится с перезагрузкой страницы), а это в большинстве случаев куки. Если рест апи это сторонний сервер к которому мы обращаемся своим монолитным приложением, то естественно рестапи не хранит и не должен никаких состояний, а если рест апи обособленная часть нашего апликейшина? Которая, возможно, помимо сайта будет обслуживать и мобайл-апликейшин.

2.) Если передавать токен в куки при регистрации/авторизации, то как избежать logout'а при входе с другого браузера/устройства, если при входе токен в базе пользователя будет переписан?

Всем, в заранее, большое спасибо и низкий поклон :3
  • Вопрос задан
  • 862 просмотра
Решения вопроса 1
@FireGM
Сделать таблицу токенов с ссылкой на юзера или приложени. Тогда можно держать не один токен для каждого пользователя
Делал систему авторизации с примерно такой таблицей
id
token
type_of_token
user_id
app_id

token генерировался от юзернейма с примесью пароля, чтобы скинуть все токены, при замене пароля. type_of_token указывал для чего был сгенерирован токен(для прямого общения с юзером или с приложением) ну и ссылки на юзера в другую таблицу и ссылка на приложение, если для приложения генерировалось.

Токен хранить в куках нормально. Главное для всех важных действий надо его дописывать куда-то в данные POST формы или в GET запрос и последующей проверкой на сервере для безопасности CSRF.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
savostin
@savostin
Еще один программист
Хранит можно где хотите. "Правильно" когда куки используются исключительно клиентом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект