Внутренняя ошибка 500 с облаком WSO2

Я пытался интегрировать SAML с облаком WSO2. У меня есть успешный опыт работы с другими поставщиками, такими как onelogin, okta, ping one.

Но я получаю непонятную ошибку 500 с wso2. Я получаю ошибку 500 с каждым запросом, который я пытаюсь.

Мне не нужно много - просто формат SAMLRequest, который будет работать для WSO2. Например, сейчас я прохожу:

<?xml version="1.0" encoding="UTF-8"?>
<saml2p:AuthnRequest ID="z9dac5520-d4a4-4da9-b71a-483948c1655c" IssueInstant="2017-04-29T08:40:39.677Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Version="2.0" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"/>
<saml2p:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
</saml2p:AuthnRequest>

Я дефалирую, кодирую base 64 и кодирую URL.

Пробовал разные варианты, но ничего не работает

Благодарность


person user967710    schedule 29.04.2017    source источник
comment
HTTP500 указывает на ошибку на стороне сервера. Свяжитесь с администратором сервера по этому поводу.   -  person Bart Friederichs    schedule 29.04.2017
comment
Я уже сделал. Не получил ответа. Я надеялся, что люди, которым повезло отправить samrequest на wso2, могут поделиться примером, который у них сработал.   -  person user967710    schedule 29.04.2017


Ответы (2)


Запрос не имеет значения для элемента Issuer. Почему какой-либо IDP принимает запрос от неопознанного поставщика услуг? Вам нужно использовать значение, которое идентифицирует SP и которое ранее было зарегистрировано вне диапазона с IDP.

person Hans Z.    schedule 29.04.2017
comment
Добавлен эмитент. Все еще получаю 500. Не могу найти никаких указаний на то, что не так. Любые идеи? Спасибо ‹?xml версия=1.0 кодировка=UTF-8?› ‹sp:AuthnRequest xmlns:sp=urn:oasis:names:tc:SAML:2.0:protocol AssertionConsumerServiceIndex=1 ID=N9ktO4h8k IssueInstant=2017-04-30T08:40 :39Z ProviderName=Demo SP Version=2.0› ‹sa:Issuer xmlns:sa=urn:oasis:names:tc:SAML:2.0:assertion›пример ‹/sa:Issuer› ‹sp:NameIDPolicy AllowCreate=true Format=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified› ‹/sp:NameIDPolicy› ‹/sp:AuthnRequest› - person user967710; 30.04.2017

Можете ли вы объяснить немного больше, что вы пытаетесь сделать здесь. Это включает аутентификацию на основе SAML через облако wso2 для одного из ваших приложений? В этом случае вам необходимо войти в Identity Cloud [1] и настроить поставщика услуг, как описано в [2]. Только после этого вы можете отправить запрос SAML в Identity Cloud для аутентификации.

[1] https://identity.cloud.wso2.com
[2] https://docs.wso2.com/display/IdentityCloud/Configuring+SSO+for+Custom+Applications

После того как поставщик услуг настроен на прием запросов SAML, как описано в предыдущих ссылках, вы можете отправлять стандартные запросы SAML в Identity Cloud. Образец запроса SAML приведен ниже. Обратите внимание, что атрибуты AssertionConsumerServiceURL, Destination, Issuer должны быть изменены в соответствии с вашими потребностями. Каждый арендатор получает отдельный URL-адрес службы единого входа в формате "https://identity.cloud.wso2.com/identity/t/{TenantDomain}". Это будет значение для «Destination» в запросе SAML.

<samlp:AuthnRequest AssertionConsumerServiceURL="http://apps.com/travelocity/home.jsp"
                Destination="https://identity.cloud.wso2.com/identity/t/demo1org"
                ForceAuthn="false"
                ID="a9b1b4992f048bb1004677207cc97097a73e47cdaf4ba21360ef8cf38dc76702"
                IsPassive="false"
                IssueInstant="2017-05-02T12:59:45.409Z"
                ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                Version="2.0"
                xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                >
    <samlp:Issuer xmlns:samlp="urn:oasis:names:tc:SAML:2.0:assertion">wso2App1-wso2org-1.0</samlp:Issuer>
    <saml2p:NameIDPolicy AllowCreate="true"
                         Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
                         SPNameQualifier="Issuer"
                         xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
                         />
    <saml2p:RequestedAuthnContext Comparison="exact"
                                  xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
                                  >
            <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
    </saml2p:RequestedAuthnContext>

person Dinusha    schedule 02.05.2017
comment
Благодарю за ваш ответ. Я действительно создал учетную запись и приложение с assertionUrl и ожидаемым эмитентом, а также загрузил метаданные, которые анализирую с помощью openSAML и создаю samlRequest. Я взял ваш пример SamlRequest и изменил issuer и ConsumerUrl, чтобы они соответствовали требованиям. Время обновлено до текущего, и я все еще получаю 500, когда я создаю HTTP-запрос с SAMLRequest (содержащий дефлированный AuthnRequest, закодированный 64 base и закодированный URL) для моего перенаправления wso2. Самая большая проблема в том, что я получаю 500. И не могу найти журналы или какие-либо указания по устранению неполадок. - person user967710; 08.05.2017