2016-04-16 5 views
0

В REST API, когда для запроса выхода из системы предоставляется недопустимый токен, что является наиболее заметным поведением?Недействительный сеанс: правильное поведение выхода

  1. Следует ли уведомить клиента о недействительном токене?
  2. Или API должен просто ответить успешным сообщением?

Я понимаю, что это скорее специфическое для контекста, а просто желание узнать, что думают другие.

ответ

1

Это зависит от характера «недействительности» токена и насколько вы хотите вовлечь пользователя во взаимодействие. В широком смысле, я полагаю, у вас могут быть две разные формы инвалидности.

  • Если это неправильный формат в некотором роде, то вы в основном получили недопустимый запрос, который пользователь должен быть сказан об использовании стандартного кода ответа 4xx. Как правило, это будет означать либо ошибку в клиенте, но также, возможно, активную атаку на вашу систему аутентификации/авторизации. Учитывая, что синтаксическая форма токена не должна быть источником вашей безопасности, не совсем плохая практика информировать клиента о том, что может иметь ошибку в своем программном обеспечении.

  • Другая форма недействительности заключается в том, что действительный токен истек - в этом случае вряд ли важно сообщить пользователю, что их текущее состояние (фактически выведенное из-за истекшего токена) уже является их желаемым «состоянием», (вышли из). Здесь возникает вопрос об избежании автоматического обновления токена на стороне клиента. Использование стандартного кода успеха 2xx должно избегать этого.

Сказав, что вы может есть причина, чтобы хотеть, чтобы сообщить пользователю, что они уже вышли из - говорят, чтобы сообщить им, что любая сторона клиента состояние может быть устаревшим, так как клиент имеет не удалось связаться с сервером из-за недействительного токена. В конечном счете, это вопрос, специфичный для приложения.

Смежные вопросы