Ну, я застрял в течение нескольких дней, и это единственная моя надежда.WordPress Single Sign On с использованием SSP и ADFS в качестве прокси-сервера IdP
Я настроил Windows 2012 r2 с ADFS 3.0, bitnami Wordpress (4.2.2) с помощью модуля SAML 2.0 Single Sign on и сервера Ubuntu с SimpleSAMLphp 1.13.
конфигурацияWordpress выглядит следующим образом:
Для аутентификации источника я использую модуль файл ППСА. У него есть атрибуты:
User-Name
для пользователя id, mail
для адреса пользователя и Filter-Id
для группы пользователей.
На стороне ADFS, я настроил доверие поставщика услуг как SSP и доверие доверяющей стороны как WP.
правила претензии в отношении тех, являются:
SSP:
Правило 1: Для того, чтобы преобразовать политику идентификационное имя. Если это правило не установлено, протокол SSP WP присваивает неверной ошибке NameIDPolicy.
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] == "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
Правило 2: Передайте все требования
c:[Type == "https://example.com/simplesamlphp/saml2/idp/metadata.php"] => issue(claim = c);
WordPress:
Правило 1: Преобразование атрибута имя атрибута РГ
c:[Type == "User-Name"] => add(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Value = c.Value);
Правило 2: Преобразование атрибутов почты
c:[Type == "mail"] => add(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/emailaddress", Value = c.Value);
Правило 3: Преобразование группы атрибутов
c:[Type == "Filter-Id"] => add(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/Group", Value = c.Value);
Правило 4: Con Vert в GivenName приписывать
c:[Type == "User-Name"] => add(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/givenname", Value = c.Value);
Правило 5: Преобразовать Фамилия атрибут
c:[Type == "User-Name"] => add(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/surname", Value = c.Value);
Правило 6: Преобразование политики Имя Идентификатор & выдает все претензии
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress");
Пользователь получает аутентификацию штрафа (SP/IdP-Initiated). Но на стороне WP я получаю сообщение об ошибке Username was not provided
.
ADFS журнал трассирующими показывает мне SSO token is null or empty. Cannot write SSO token to Cookies.
Я проверил IdP для входа пользователя в систему, и это показывает, пользователь вошел в систему. Журнал Tracer также показывает Valid assertion returned from 'https://example.com/simplesamlphp/saml2/idp/metadata.php'
Я предполагаю, что есть что-то не так с правилами претензий, но я не являюсь конечно, потому что конфигурация выглядит и работает нормально.
Любые указатели приветствуются!
Спасибо!
Спасибо. Это сработало. Еще кое-что. Я также пытаюсь использовать ту же настройку для OWA. Я настроил правила OWA RP как: Первичный sid- 'c: [Тип ==" Имя пользователя ", Эмитент ==" https://example.com/simplesamlphp/saml2/idp/metadata.php "] \t => вопрос (Тип = "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid", Value = c.Value); 'и UPN:' c: [Тип == "почта", эмитент == "https://example.com/simplesamlphp/saml2/idp/metadata.php"] => issue (Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/ upn ", Value = c.Value);'. Но это показывает мне ошибку 'upnClaimMissing'. Можно ли использовать эту настройку для OWA? – harshad
Не знаю, как OWA, но metadata.php поражает меня как фактические метаданные, то есть документ XMl, не являющийся претензией. Что в ней? – nzpcmad
Я не так хорошо знаком с внутренней работой, но из кода кажется, что он предоставляет метаданные для idp. Но не фактический XML-документ. Я просмотрел интернет для демонстраций, и каждый из них показал мне настроить «Эмитент», как указано выше в случае SSP. – harshad