You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Colm O hEigeartaigh (JIRA)" <ji...@apache.org> on 2017/02/28 18:10:45 UTC
[jira] [Resolved] (FEDIZ-192) SAML customSTSParameter not
propagated when using form-login
[ https://issues.apache.org/jira/browse/FEDIZ-192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colm O hEigeartaigh resolved FEDIZ-192.
---------------------------------------
Resolution: Fixed
> SAML customSTSParameter not propagated when using form-login
> ------------------------------------------------------------
>
> Key: FEDIZ-192
> URL: https://issues.apache.org/jira/browse/FEDIZ-192
> Project: CXF-Fediz
> Issue Type: Bug
> Reporter: gonzalad
> Assignee: Colm O hEigeartaigh
> Fix For: 1.4.0
>
>
> When I use customSTSParameter with a form-login, the customSTSParameter parameter isn't sent to my Validator class :
> this kind of code [CustomUTValidator|https://github.com/apache/cxf-fediz/blob/d18087dd4081d932d57c8677880059d1c3472690/systests/custom/src/test/java/custom/CustomUTValidator.java#L56] will return a null value.
> The issue is caused by Spring Security which redirects the user to a /login page (without the original parameters, hence STSUPAuthenticationProvider hasn't access to the customSTSParameter).
> To reproduce this issue :
> * mvn clean install fediz.
> * edit cxf-fediz/systests/custom/target/tomcat/idp/webapps/fediz-idp/WEB-INF/config/security-up-config.xml.
> ** add under security:http pattern="/federation/up/**" :
> {code}
> <security:custom-filter before="FORM_LOGIN_FILTER" ref="requestContextFilter"/>
> {code}
> ** comment <security:http-basic />
> ** uncomment
> {code}
> <security:form-login login-page='/federation/up/login'
> login-processing-url="/federation/up/login.do"
> authentication-failure-url="/federation/up/login?error"
> default-target-url="/"
> username-parameter="username"
> password-parameter="password"
> />
> {code}
> * run CustomParametersTest#testCustomParameterViaRP() unit test.
> Set the necessary ports (i.e. -Didp.https.port=20001 -Drp.https.port=20002)
> * Put a breakpoint to stop the test once the sample, IDP and STS servers are started.
> * Open a browser and https://localhost:20002/fedizhelloworld/secure/fedservlet
> * You're redirected to idp
> * Login with alice credentials
> You'll get a `Login Failed` (because custom parameter hasn't been propagated : realm variable is null in CustomUTValidator)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)