Какой код статуса HTTP будет представлять Аутентифицированный, но требует принятия условий - PullRequest
4 голосов
/ 17 августа 2011

Я разрабатываю RESTful API, и системы, использующие API, работают от имени пользователя.

Мы используем стандартный обмен OAuth для проверки этого пользователя, но после проверки мы можем обнаружить, что пользователь требует принять обновленное пользовательское соглашение, прежде чем какие-либо другие методы могут быть разрешены. Подумайте об iPhone и о том, как они меняют свои соглашения и требуют от пользователей принятия.

Какой код статуса лучше всего отражает эту ситуацию? Должны ли они получить 401 с дополнительной информацией. Редирект? Пользовательский код в диапазоне 400?

Очевидно, я не хочу, чтобы потребитель API думал, что у него есть действительный токен, но он должен знать, что должны быть предприняты определенные действия.

Кто-нибудь обрабатывал что-то подобное?

1 Ответ

6 голосов
/ 17 августа 2011

403 Forbidden

С дополнительной информацией о причине курса.Это покажет, что вы поняли запрос, и можете указать причины, по которым вы отказываетесь выполнить его.

...