Создание XML метаданных Федерации для "доверия проверяющей стороны" и "доверия поставщика утверждений" для ADFS 2.0

один из наших веб-приложений хотел бы соединиться с ADFS 2.0 сервер, чтобы получить маркер учетных данных и проверить роли пользователей на основе этого. Администратор сервера ADFS попросил нас предоставить им XML-файл метаданных Федерации, чтобы они могли создавать доверие проверяющей стороны. Я googled и только найти, как загрузить XML метаданных Федерации сервера ADFS с помощью URL-https://[имя сервера adfs] / federationmetadata / 2007-06 / federationmetadata.XML Но не смог найти никакого руководства, чтобы создать а метаданные Федерации XML для создания "Доверие Проверяющей Стороны" и "Отношения Доверия С Поставщиком Утверждений". Есть ли инструменты для создания этих файлов метаданные? Пожалуйста, поделитесь некоторыми идеями о том, как создавать.

спасибо

Лу

ответить на мой собственный вопрос:

нашел Утилиты Федерации инструменты WindowsIdentityFoundation-SDK-4.0 at http://www.microsoft.com/en-ca/download/details.aspx?id=4451 сделает это.

4 ответов


На самом деле URL-адрес

https://server/federationmetadata/2007-06/federationmetadata.xml

нет, я в курсе.

можно использовать Microsoft.IdentityModel.Протоколы.Как wsfederation.Метаданные класс или ссылка Создание Метаданных Федерации Динамически.

посмотреть "Thinktecture.IdentityServer.v2 / src / библиотеки / Thinktecture.IdentityServer.Протоколы / FederationMetadata " over at Thinktecture.IdentityServer.П2.

или если ваше приложение использует WIF в каталоге метаданных.

обновление:

в WIF, если вы не хотите, чтобы маркер был зашифрован, вам не нужен сертификат. Это больше для стороны ADFS, поскольку она должна подписать токен и приложение. нужен открытый ключ для проверки.

пример:

<?xml version="1.0" encoding="utf-8"?>
<EntityDescriptor ID="_5b6cd05c-a5e3-470d-a2fc-6c6f66633d1b" entityID="http://localhost/app/" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
    <RoleDescriptor xsi:type="fed:ApplicationServiceType" xmlns:fed="http://docs.oasis-open.org/wsfed/federation/200706" protocolSupportEnumeration="http://docs.oasis-open.org/wsfed/federation/200706" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <fed:ClaimTypesRequested>
            <auth:ClaimType Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" Optional="true" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" />
            <auth:ClaimType Uri="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" Optional="true" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" />
        </fed:ClaimTypesRequested>
        <fed:TargetScopes>
            <EndpointReference xmlns="http://www.w3.org/2005/08/addressing">
                <Address>http://localhost/app/</Address>
            </EndpointReference>
        </fed:TargetScopes>
        <fed:PassiveRequestorEndpoint>
            <EndpointReference xmlns="http://www.w3.org/2005/08/addressing">
                <Address>http://localhost/app/</Address>
            </EndpointReference>
        </fed:PassiveRequestorEndpoint>
    </RoleDescriptor>
</EntityDescriptor>

где localhost\app\ должен быть URL вашего приложения. Примечание конец Слэш!


Я должен был сделать это недавно, никогда не используя .Net или ADFS раньше и имея только URL-адрес метаданных сервера (STS), с которым я пытался интегрировать. У меня был базовый ПК с Windows 10 и я пытался настроить узел.в JS веб-приложения в качестве РП. Вот что я сделал:--2-->

  1. на ПК Win 10 перейдите в Панель управления - > Программы и функции -> включить или выключить функции Windows -> включить Windows Identity Foundation 3.5

  2. Установленный Идентификатор Windows Foundation SDK 4.0 (как указано первоначальным автором).

  3. создал базовый веб.конфигурационный файл, который содержал:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.web>
    
      </system.web>
    </configuration>
    
  4. в каталоге установки SDK я нашел FedUtil.exe и FedUtilSampleUserInput.XML. Пример файла объяснил все параметры, которые FedUtil.exe собирался попросить, что было очень полезно.

  5. Запущен FedUtil.exe как администратор (щелкните правой кнопкой мыши в Проводнике), предоставляя Сеть.конфигурационный файл, который я только что создал, URL-адрес webapp, URL-адрес метаданных сервера (STS) как "существующий STS" и выбор для создания нового сертификата по умолчанию.

  6. Lo и вот, FederationMetadata.xml-файл был сгенерирован и мой веб.файл конфигурации был обновлен автоматически.

  7. затем я не прокомментировал некоторые типы утверждений в обновленном веб-сайте.файл конфигурации и повторно запущен FedUtil.exe, который затем обновил мою FederationMetadata.xml с дополнительной претензией типы, которые мне нужны от STS (например, электронная почта, имя, фамилия)

  8. предоставлено FederationMetadata.xml для администратора STS, который работал!

единственным недостатком является то, что для этого требуется машина Windows ... Я не уверен, что бы я сделал на Mac или Linux!


для создания метаданных SAML RP существует веб-инструмент, доступный по адресуsamltool.com что может помочь. Я не нашел ни одного для WS-Federation, кроме утилиты Federation...

Я также недавно обнаружил сайт rcFederation который поддерживает AD FS / WS-Federation


метаданные xml для создания "Replaying party trust" - это не метадта Федерации ADFS, а xml метаданных SP (SAML issuer).