Интеграция с ForgeRock

#asp.net-core #forgerock #itfoxtec-identity-saml2

#asp.net-ядро #forgerock #itfoxtec-идентификация-saml2

Вопрос:

ForgeRock всегда возвращает ошибку HTTP 500 для единого входа. Я использую itfoxtec-identity-saml2 для привязки (перенаправления) в моем asp.net основное приложение в качестве моего IDP для ForgeRock и следующие шаги, упомянутые в github

Это отправленный запрос аутентификации SAML

 <saml2p:AuthnRequest
     xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
     xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" 
     ID="_f149a6ed-298a-4d41-951f-3817a5e3f7ae"
     Version="2.0"
     IssueInstant="2020-08-15T21:53:37.9212248Z" 
    Destination="http://dev.mytest.com/sso/SSORedirect/metaAlias/RRC/idp" 
    AssertionConsumerServiceURL="http://localhost:60017/General/Account/AssertionConsumerService">
       <saml2:Issuer>http://dev.mytest.com:80/sso</saml2:Issuer>
       <saml2:Subject><saml2:NameID> https://localhost:60017</saml2:NameID></saml2:Subject>
       <saml2p:NameIDPolicy AllowCreate="true" 
                  Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" />
</saml2p:AuthnRequest>
  

2 вопроса, которые мне задали из ForgeRock

  1. Могу ли я использовать теги samlp и saml вместо тегов saml2p и saml2 в запросе SAML
  2. Привязка не упоминается в SAMLf запроса авторизации

Сообщение об ошибке

Ошибка HTTP 500 от ForgeRock

Ответ №1:

Я немного сомневаюсь в вашем вопросе. Если вы спрашиваете об именах пространства имен XML. Невозможно изменить имена пространства имен XML в XML, который генерирует компонент SAML 2.0 ITfoxtec Identity ITfoxtec Identity.

Вероятно, правильно использовать привязку перенаправления.

Вы отправляете ‘ https://localhost:60017 ‘ в теге NameID с пробелом <saml2:NameID> https://localhost:60017</saml2:NameID> . Это выглядит неправильно? Это должно быть имя пользователя, для которого вы хотите войти в систему.

Комментарии:

1. Спасибо @Anders, или изначально у нас был тег NameID как «TestUser», тогда предлагалось изменить URL локального хостинга, поэтому я изменил. Я пытался, но все равно это не помогло. Другой вопрос заключается в том, что в запросе SAML я вообще не вижу протокола привязки. Например, как этот ProtocolBinding=»urn:oasis:имена: tc: SAML: 2.0: привязки:HTTP-POST»

2. Привязка SAML 2.0 в основном связана с использованием HTTP GET или HTTP POST с некоторыми определенными параметрами и, как правило, не связана с XML. Однако есть некоторые различия в отношении подписи.

3. Проблема была решена, идентификатор эмитента был неверным в запросе авторизации SAML после исправления этого, и IDp устранил проблему на своей стороне, все работает нормально. Спасибо!