2017-01-07 4 views
0

Я пытаюсь использовать приложение authenticationendpoint, которое поставляется с WSO2 как новая точка входа только для входа старого приложения. Для целей тестирования я просто сделал страницу, которая перенаправляет на Тхи URL появляетсяWSO2 Базовая аутентификация возвращает ошибку

https://localhost:9443/authenticationendpoint/login.do?relyingParty=My-Issuer&sp=Test-App&sessionDataKey=14792551&authenticators=BasicAuthenticator:LOCAL

Войти страницу, как и ожидалось, но как только я поставил имя пользователя и пароль, показывает это сообщение:

Authentication Ошибка! Внимание: Что-то пошло не так во время процесса аутентификации. Пожалуйста, попробуйте войти снова.

Видя выход в консоли на режиме отладки, это то, что показано

... Многие из тех же ошибок о том, что проверка подлинность контекст является нулевым [2017-01-06 15: 40: 08836] DEBUG {org.wso2.carbon.identity.application.authentication.framework.util.FrameworkUtils} - Контекст аутентификации имеет значение [2017-01-06 15: 40: 08,836] DEBUG {org.wso2.carbon.identity.application. authentication.framework.util.FrameworkUtils} - Контекст проверки подлинности имеет значение [2017-01-06 15: 40: 08,836] DEBUG {org.wso2.carbon.identity.application.authentication.framework.util.FrameworkUtils} - Контекст аутентификации null [2017-01-06 15: 40: 08,837] DEBUG {org.wso2 .carbon.identity.application.authentication.framework.handler.request.impl.DefaultRequestCoordinator} - ключ данных сеанса: 22451696 [2017-01-06 15: 40: 08,837] ERROR {org.wso2.carbon.identity.application. authentication.framework.handler.request.impl.DefaultRequestCoordinator} - Контекст не существует. Вероятно, из-за недействительного кеша

Я делаю что-то неправильно, может быть, не было отправлено достаточно параметров, или они неправильные, пользователь и пароль правильные, потому что я могу войти в сам углерод с ним, и он также является действительным пользователем для тестирования SP.

СП конфигурации описывается:

Базовая информация

Service Provider Имя: Test-App

конфигурация претензии

Использовать локальный Претензия Диалект Предмет претензии URI http://wso2.org/claims/username

Роль/Разрешение Конфигурация разрешений AdminTest Mapping Роль AdminTest-> Администратор конфигурации

Inbound Authentication

  • SAML2 Web SSO Configuration Эмитент: My-Эмитент

    Assertion Потребительские URL-адреса: https: //localhost/Test/main.asp URL-адрес потребителя по умолчанию: https: //localhost/Test/main.asp Формат имени ID: urn: oasis: names: tc: SAML: 1.1: имя-формат: адрес электронной почты Алиас сертификата: wso2carbon Алгоритм подписания ответа: ...# sha1-RSA Ответ Digest Algorithm: ... # sha1

проверяемые значения Включение подписывания отклика Enable Single Logout Включить Атрибут профиля Включить атрибуты в ответ Всегда Включить IdP инициированного SSO Включить IdP Начатый SLO

Другие находятся в пустой OAuth, OpenID и т.д. (дайте мне знать, если это возможно, проблема, так что должно быть заполнено.

Локальный и Outbound Authentication Конфигурации

Тип аутентификации: Я попытался с по умолчанию и локальной аутентификацией = основным и пароль сброса-Инфорсеру

Это проверено:

  • идентичности Assert с использованием сопоставляется локальный объект идентификатор
  • Использование домена арендатора в местном идентификаторе предмета
  • Использование домена пользовательского магазина в местном Заголовок Идентификатор

    Настройка аутентификации Пути запрос базовой аутентификация конфигурация

Inbound Provisioning Конфигурация SCIM ОСНОВНОГО Тупой режим не включен

Остальное оставлено пустым

Я провел много дней, отслеживая эту проблему, но не отвечаю на старые версии.

Я тестировал с JDK 7 и 8 (последний из них) Я работаю с WSO2 IS 5.2.0. Кто-то может привести меня к решению использовать это приложение в качестве единственной точки входа для моих SP? Идея после этого - отправить ответ SAML2 на страницу на стороне SP, которая считывает информацию и контролирует часть авторизации.

Заранее спасибо.

ответ

1

Вы настроили сценарий SAML SSO. Поэтому ваш SP должен вызывать конечную точку SSO SAML сервера WSO2 Identity Server с действительным SAMLRequest. Это https://hostname:port/samlsso.

AuthenticationEndpoint - всего лишь промежуточное применение. Конечная точка SAML SSO - это та, которая должна перенаправить пользователя в AuthenticationEndpoint после первой обработки SAMLRequest. Вы не должны называть это напрямую.

Обратитесь к this, чтобы узнать, как запустить образец приложения SSO для SAML с помощью WSO2 IS. Во время выполнения этого вы можете отслеживать поток HTTP-запроса/ответа с помощью инструмента, такого как SSOTracer для Firefox, и понимать, как работает связь.

В отличие от потока SSO SAML, если вы используете какой-либо другой протокол проверки подлинности, сначала необходимо вызвать конечную точку протокола. Например. Если вы используете OAuth2 или OpenIDConnect, тогда вы должны вызывать/oauth2 конечную точку. Никогда/authenticendpoint напрямую.

+0

Спасибо, drox. Однако, следуя указаниям на странице, я ударил стену из-за ошибки pom.xml, потому что для этого требуется еще один несуществующий pom.xml на уровне каталогов is-samples. мне нужно клонировать весь проект wso2 IS ?. Я попытался исключить родительскую запись xml, исключив относительную запись пути и исключив запись родительского xml и добавив groupId и версию в качестве атрибута элемента проекта, но та же проблема. Я не знаком с maven, но я попробовал только с mvn, mvn clean install и mvn build и всегда с той же проблемой. – George

+0

Извините, я нажал кнопку ввода до завершения. Я попытался исключить запись родительского xml в pom.xml внутри каталога samples, но он говорит, что отсутствует идентификатор groupId и отсутствует версия, поэтому я исключил относительную запись пути в образцах pom-файла в родительскую запись, и теперь ошибка говорит, что существует неразрешимый родительский POM. – George

+0

Наконец, я исключил родительскую запись xml и добавил groupId и версию в качестве атрибутов элемента проекта (xsi: groupId = "org.wso2.is" и попробовал также с "wso2is-identity-samples" в качестве артефакта) в файле pom в samples, но та же проблема с пропущенным groupId и версией. Я не знаком с maven, хотя, но я пробовал только с mvn, mvn clean install и mvn build и всегда той же проблемой для описанных выше сценариев. Я также искал pom на уровне модулей в github, но там их нет (и он был обновлен до версии v5.3.0 сегодня, но не pom ни в каталог модулей). – George