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)