RESTful перекрестная аутентификация - PullRequest
0 голосов
/ 25 августа 2011

У меня есть 2 службы RESTful, реализованные в JAX-RS (Джерси): «A» и «B». Они развернуты на отдельных серверах приложений. «А» и «Б» оба мои.

  1. Клиент подключается и авторизируется на услуге «А»;
  2. Клиент запрашивает у ресурса «A», например: https://blabla1/services/myresources;
  3. Для получения ресурса «myresources» служба «A» должна запросить (не перенаправить) службу «B» для другого ресурса, например: https://blabla2/services/anotherresources.

Служба "B" тоже должна пройти проверку подлинности, вот в чем проблема. Возможно ли, чтобы сервис «А» задавал «Б» с параметрами аутентификации клиента, и как он будет работать?

Я полагаю, это возможно с библиотекой oauth, но я не могу найти примеры (близкие к моей проблеме) и инструкции.

Спасибо

1 Ответ

1 голос
/ 26 августа 2011

Просто подытожив решение, изложенное в комментариях:

Служба "B" (или прокси-сервер перед ней) должна принимать только HTTPS-запросы с сертификатом сервера "A". (Сервер «A» также может проверять сертификат сервера «B», чтобы избежать атак «посредник».)

Тогда имя пользователя может быть параметром запроса в виде простого текста.

Если вы работаете в сети лучше, чем люди на сервере, или обнаруживаете, что SSL устрашает, пусть сетевые люди вместо этого устанавливают безопасный туннель (формируя VPN) между вашими сайтами и делают службу «B» недоступной из необработанного Интернета, помимо туннеля.

...