Я разрабатываю restful webservice, который будет использоваться третьими сторонами. Они должны пройти аутентификацию, чтобы использовать мой Restful service. Для этого я планирую использовать два подхода для их аутентификации.
Использование другой службы Restful в качестве прокси для доступа к службам Restful: для доступа к службе RESTful пользователь отправит имя пользователя и пароль этому прокси-классу в методе POST. Если имя пользователя и пароль верны, уникальный идентификатор (например, ключ аутентификации) будет сгенерирован и отправлен в ответе. Когда будет сделан следующий запрос, пользователь отправит ключ аутентификации (и другие данные для доступа к целевой службе Restful) в полезных данных запроса. Этот ключ аутентификации будет проверен прокси-сервером. Если ключ действителен, прокси вызовет целевую службу restful и вернет ответ клиенту. В противном случае сообщение об ошибке будет отправлено в резонансе.
Аутентификация на основе сервлетов: такая же, как и в первом подходе, но сервлет будет действовать как прокси для доступа к веб-сервисам. В этом подходе имя пользователя и пароль будут проверяться сервлетом, и, если он правильный, сервлет установит некоторый файл cookie в ответ и отправит его в клиент. В следующий раз, когда пользователь отправляет файл cookie запроса, будет проверен. Если он действителен, сервлет вызовет службу Restful и отправит ответ. Но я не уверен, будет ли запрос пользователя содержать cookie или нет.
При первом подходе пользователю необходимо отправлять ключ аутентификации для каждого запроса. Но во втором подходе это не нужно.
Мне нужно знать, какой подход лучше? .. а также любой другой способ справиться с этим ..