Понимание 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
Еще один программист
Хранит можно где хотите. "Правильно" когда куки используются исключительно клиентом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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