Исключение неаутентифицированных запросов API REST на основе User-Agent - PullRequest
0 голосов
/ 28 апреля 2010

Я разрабатываю REST API, который поддерживает два вида протоколов аутентификации:

  1. аутентификация с помощью формы входа - для клиентов на основе браузера.
  2. Простая базовая аутентификация - для клиентов без браузера.

Я разработал поток, в котором неаутентифицированные запросы перенаправляются в «форму входа в систему», проблема в том, что это нежелательное поведение для клиентов, не являющихся клиентами!

Я решил решить ее, решив в соответствии с «User-Agent», что делать: браузеры будут перенаправлены на «форму входа», а клиенты без браузера получат стандарт 401: Basic Authentication.

A. Что вы думаете об этом решении?
B. Есть ли в Java стандартный способ проверить, поступил ли запрос от браузера, или мне нужно самостоятельно разработать механизм такого типа?

Заранее спасибо!

1 Ответ

1 голос
/ 28 апреля 2010

Поскольку у вас есть полный контроль над клиентом, у вас есть много других способов сделать это без проверки User-Agent,

  1. Используйте другой URL для входа в систему клиента. Наш клиент не возвращает HTML, поэтому мы используем другую конечную точку.

  2. Передать специальный параметр, например client_version, в URL.

  3. Если вы настаиваете на проверке агента пользователя, используйте специальную строку, чтобы все остальное было браузером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...