Как позвонить в веб-сервис, требующий проверки подлинности на основе утверждений? - PullRequest
1 голос
/ 30 декабря 2010

У меня есть клиент, который хочет вызвать веб-сервис. У меня есть веб-сервис (asmx), default.aspx, который может показать претензии. У меня есть тестовый STS, которому доверяет мой веб-сервис. Я проверил, и sts может отправлять правильные заявки, а веб-сервис, похоже, получает их, если я перехожу на страницу default.aspx, в которой отображаются претензии. Я создал прокси-сервер (используя Visual Studio «Добавить ссылку на службу»), чтобы клиент вызывал веб-службу. Я не мог найти способ, как вызвать веб-сервис из клиента программно, чтобы он проходил аутентификацию через мой STS. Я звоню, как показано ниже, но sts возвращает клиенту ответ на претензии, где он должен вернуться к веб-службе и вызвать функцию веб-службы.

MyClient =  MyWebServiceSoapClient("MyWebServiceSoap", "http://127.0.0.1:81/MyService.asmx?whr=http%3a%2f%2flocalhost%3a25919%2fteststs%2fdefault.aspx%3fwa%3dwsignin1.0%26wtrealm%3dhttp%3a%2f%2f127.0.0.1%3a81%2fmyservice.asmx");
MyClient.MyServiceFunction();

Ответы [ 2 ]

2 голосов
/ 05 февраля 2011

Проверьте образцы в Identity Training Kit или в « A Guide to Claims Based Identity » для примеров.

1 голос
/ 10 мая 2012

Я написал библиотеку C #, которая позволяет вам получить токен SAML от сторонней службы STS, а затем и ADFS, чтобы в конечном итоге пройти аутентификацию в SharePoint. Это может помочь:

http://www.huggill.com/2012/02/04/claims-proxy-a-c-sharp-library-for-calling-claims-protected-web-services/

...