Я знаю, этот вопрос, кажется, похож на другой сын, но я попробовал ответы, размещенные здесь: Securing WCF 4.5 service using Azure ACS 2.0Azure службы WCF с Azure аутентификацией Active Directory
И вот: Federated authentication (single-sign-on) for a WCF REST/HTML-service on Azure
Ans ни, кажется, актуальны ,
Вот что у меня есть.
- лазурь облачный сервис с различными ролями рабочих, а также веб-роли WCF с REST и SOAP Endpoints
- лазурь активный счет каталога с парой пользователей
- ACS пространства имен.
Служба WCF будет использоваться несколькими различными компаниями, кроме закрытых. Мы выбрали активный каталог azure для предоставления SSO для службы wcf и других приложений.
Вот что я хочу сделать:
- Создание пользователей/паролей для каждой компании с помощью службы WCF в Azure Active Directory.
- Разрешить только компании с действительным именем пользователя и паролем для получения доступа к токену
- Чтобы каждая компания использовала свой токен для доступа к методам WCF.
Я не думал, что этого было бы трудно выполнить, но все учебные пособия, похоже, предназначены для размещенных или размещенных служб IIS с консольным приложением.
То, что я сделал до сих пор:
- Добавлен службу WCF как интегрированное приложение в лазурной активной директории
- новый провайдер, удостоверяющий личность с именем testAAD в ACS и добавил метаданных WS-Federation от интегрированное приложение к этому провайдеру
- Добавлено приложение-приложение, использующее только что созданный поставщик идентификационных данных testAAD
- Добавлена группа правил с правилом передачи, использующим поставщик идентификации идентификатора testAAD и значения по умолчанию.
Для получения более подробной информации см. Опцию 1 here. Мне нужно знать, было ли то, что я сделал, где-то близко к правильному, и если бы это было так, как мне заставить WCFservice начать использовать эти настройки.
Другая информация:
- WIF 4,5
- VS2012 Pro
- C#
Любые соответствующие учебные ссылки или общие рекомендации было бы здорово. Заранее спасибо.
Обновление: Чтобы добавить дополнительную информацию, служба WCF публикуется на нескольких разных сайтах. Каждый из наших клиентов будет собирать данные из своих собственных веб-форм, а затем либо добавлять ссылку на службу с помощью кода C#, либо публиковать данные в URL-адресе через что-то вроде завитка, если они используют php. Служба имеет как остальные, так и конечные точки мыла. Так, например, они отправили бы запрос XML или SOAP в mynamespace.cloudapp.net/myservice.svc/servicemethod. Я либо хочу, чтобы они отправили свое имя пользователя и пароль с этим запросом и подтвердили эти учетные данные в фактическом методе WCF или попросили их указать токен аутентификации, а затем отправить этот токен аутентификации с их запросом.
Обновление 2 Я думаю, что нашел недостающую деталь. Чтобы использовать активный каталог в качестве поставщика удостоверений, похоже, мне нужно настроить сервер ADFS. Я думал, что сервер ADFS был настроен уже с активной учетной записью azure active, но, видимо, это не так? Есть ли способ сделать это без сервера ADFS?
Спасибо за быстрый ответ, см. Мои обновления. Я не уверен, что какой-либо из описанных вами сценариев соответствовал моей ситуации. –