лучшие практики авторизации на веб-сервисах - PullRequest
4 голосов
/ 15 апреля 2011

Я создаю веб-страницу, которая связана с веб-службой, которую я создаю.

Теперь веб-страница проста.я могу создать сеанс для хранения информации для входа в систему, которая передается в веб-сервис с помощью моих jquery url-вызовов к веб-сервису.

, но как бы это сделать, если другой веб-сайт в другом домене обращается к моему веб-сервису (клиентубоковой доступ через javascript ajax)?будет ли он вызывать мой webservice / login? userid = & password =, который возвращает sessionID, тогда этот сайт должен запоминать sessionID и включать его в каждый вызов?пример: order / outbound / create? address = & item = & companyName = & sessionID = 435hg34kh

?

Я ценю любую помощь, которую я мог бы получить по этой теме.

не то чтобы этодействительно имеет какое-либо отношение к вышеупомянутому вопросу (я думаю), я программирую веб-сервис на php.

1 Ответ

2 голосов
/ 15 апреля 2011

Аутентификация с помощью веб-сервисов зависит либо от протоколов HTTP / Soap, либо от контракта на обслуживание (обычно с использованием токена).

Решение, основанное на первом вызове, получающем идентификатор и затем обменивающем идентификатор сеанса, является хорошим для вызова на стороне клиента (у которого нет доступа к протоколам HTTP / Soap, только к параметрам служб, в таком случае вы обычно используете light Веб-сервисы на базе отдыха).

Вызов на стороне бизнеса также может основываться на базовой аутентификации или WS-Security. Ebay использует ваш подход для своих веб-сервисов, которые обычно вызываются из бизнес-приложений (а не напрямую из браузера клиента).

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

Базовый подход для междоменного HTTP-вызова Javascript задокументирован здесь

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