2011-07-20 4 views
3

У меня есть куча сайтов, которые настроены одинаково для использования поставщика удостоверений WIF. Недавно я перевел бизнес-логику из веб-приложений и в приложение для веб-приложений Api. Это выполняется в другом виртуальном каталоге на других сайтах. Идея состоит в том, что браузер будет помещать данные на страницу AJAXy.Использование Identity Foundation с WCF Web Api

Проблема, с которой я сталкиваюсь, заключается в обеспечении веб-API. Кажется, что однократная регистрация WIF работает с традиционными сайтами. Пользователь может получить доступ к одному веб-сайту, получить перенаправление на поставщика удостоверений, войти в систему и получить перенаправление обратно на веб-сайт, который им нужен. Когда они обращаются к другому сайту, они также перенаправляются обратно поставщику удостоверений, но не должны регистрироваться в качестве файла cookie FEDAUTH, поэтому они автоматически получают аутентификацию и перенаправляются на второй сайт.

Это не работает для сценария Web Api, потому что, когда браузер, возможно, делает GET, Api вернет перенаправление на вызывающий javascript, когда он ожидает JSON.

Можно ли даже защитить Web Api с помощью WIF?

ответ

6

Не уверен, что я прав, но, похоже, главная проблема заключается в том, что javascript/ajax не поддерживает перенаправления HTTP. Возможное решение могло бы имитировать Перенаправление с последовательностью вызовов отдельными асинхронность:

  1. Проверьте ли вы проверку подлинности на вашем сайте апи веб (фиктивной вызов AJAX).

Если это не так:

  1. Позвоните петли через AJAX и захватить маркер безопасности из «wresult» полей формы.
  2. Позвоните на сайт входа на веб-сайт api и передайте токен безопасности как данные «wresult».

Dominick Bayer написал несколько сообщений в блогах о предоставлении услуг по обеспечению безопасности. Для дальнейшего чтения смотрите http://www.leastprivilege.com/. (Особенно http://leastprivilege.com/2009/09/11/adding-a-rest-endpoint-to-a-wif-token-service/ и http://leastprivilege.com/2010/05/05/thinktecture-identitymodel-wif-support-for-wcf-rest-services-and-odata/).

Возможно, также будет интересна следующая презентация от TechDays: http://www.microsoft.com/showcase/sv/se/details/ffc61019-9756-4175-adf4-7bdbc6dee400 (начиная примерно с ~ 30 минут).

Смежные вопросы