[ 
https://issues.apache.org/jira/browse/CXF-5592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michal Sabo updated CXF-5592:
-----------------------------

    Description: 
I have set up RequestDispatcherProvider to redirect from OAuth 2.0 
authorization service (implemented by AuthorizationCodeGrantService) to 
different JAX-RS service, both served by the same CXFServlet.
The problem is HttpServletRequestFilter in RequestDispatcherProvider do not 
returns correct RequestURI path - the context root path of the web application 
is missing. 

RequestURI is used then by HttpUtils to built JAX-RS service matching path and 
since the request URI is not correct, the service is not found.

Configuration of request dispatcher is the following:
{code:xml}
<bean id="dispatchProvider" 
class="org.apache.cxf.jaxrs.provider.RequestDispatcherProvider">
        <property name="classResources">
            <map>
                <entry 
key="org.apache.cxf.rs.security.oauth2.common.OAuthAuthorizationData" 
value="/oauth2/implicitauthorize"/>
            </map>
        </property>
        <property name="beanNames">
            <map>
                <entry 
key="org.apache.cxf.rs.security.oauth2.common.OAuthAuthorizationData" 
value="data"/>
            </map>
        </property>
        <property name="logRedirects" value="true"/>
    </bean>
{code}

Comments:
"rest" is the name of the application (context root)
"/" is CXFServlet's URL pattern
"/oauth2" is the jaxrs:server address
"/implicitauthorize" is the path of the mentioned JAX-RS service where the 
redirect should go



  was:
I have set up RequestDispatcherProvider to redirect from OAuth 2.0 
authorization service (implemented by AuthorizationCodeGrantService) to 
different JAX-RS service, both served by the same CXFServlet.
The problem is HttpServletRequestFilter in RequestDispatcherProvider do not 
returns correct RequestURI path - the context root path of the web application 
is missing. 

RequestURI is used then by HttpUtils to built JAX-RS service matching path and 
since the request URI is not correct, the service is not found.

Configuration of request dispatcher is following
{code:xml}
<bean id="dispatchProvider" 
class="org.apache.cxf.jaxrs.provider.RequestDispatcherProvider">
        <property name="classResources">
            <map>
                <entry 
key="org.apache.cxf.rs.security.oauth2.common.OAuthAuthorizationData" 
value="/oauth2/implicitauthorize"/>
            </map>
        </property>
        <property name="beanNames">
            <map>
                <entry 
key="org.apache.cxf.rs.security.oauth2.common.OAuthAuthorizationData" 
value="data"/>
            </map>
        </property>
        <property name="logRedirects" value="true"/>
    </bean>
{code}

"rest" is the name of the application (context root)
"/" is CXFServlet's URL pattern
"/oauth2" is the jaxrs:server address
"/implicitauthorize" is the path of the mentioned JAX-RS service where the 
redirect should go




> HttpServletRequestFilter in RequestDispatcherProvider do not returns correct 
> RequestURI path
> --------------------------------------------------------------------------------------------
>
>                 Key: CXF-5592
>                 URL: https://issues.apache.org/jira/browse/CXF-5592
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.7.8
>            Reporter: Michal Sabo
>
> I have set up RequestDispatcherProvider to redirect from OAuth 2.0 
> authorization service (implemented by AuthorizationCodeGrantService) to 
> different JAX-RS service, both served by the same CXFServlet.
> The problem is HttpServletRequestFilter in RequestDispatcherProvider do not 
> returns correct RequestURI path - the context root path of the web 
> application is missing. 
> RequestURI is used then by HttpUtils to built JAX-RS service matching path 
> and since the request URI is not correct, the service is not found.
> Configuration of request dispatcher is the following:
> {code:xml}
> <bean id="dispatchProvider" 
> class="org.apache.cxf.jaxrs.provider.RequestDispatcherProvider">
>         <property name="classResources">
>             <map>
>                 <entry 
> key="org.apache.cxf.rs.security.oauth2.common.OAuthAuthorizationData" 
> value="/oauth2/implicitauthorize"/>
>             </map>
>         </property>
>         <property name="beanNames">
>             <map>
>                 <entry 
> key="org.apache.cxf.rs.security.oauth2.common.OAuthAuthorizationData" 
> value="data"/>
>             </map>
>         </property>
>         <property name="logRedirects" value="true"/>
>     </bean>
> {code}
> Comments:
> "rest" is the name of the application (context root)
> "/" is CXFServlet's URL pattern
> "/oauth2" is the jaxrs:server address
> "/implicitauthorize" is the path of the mentioned JAX-RS service where the 
> redirect should go



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to