There was an issue found with the google oidc integration recently.
This may be the same issue, I will need to dig that up in the dev@ or user@
list and verify.


On Sun, Mar 4, 2018 at 11:47 AM, Ryan H <ryan.howell.developm...@gmail.com>
wrote:

> Hi Knox Users,
>
> I am rethreading this error I am getting as I mentioned it in a different
> thread that was about a different error (sorry to those active on the other
> email thread).
>
> I am running into an issue with KnoxSSO with the pac4j OIDC federation
> provider. When accessing the gateway, I am correctly redirected to my
> configured OpenID provider and upon successful authentication, redirected
> back to Knox but resulting in error. I am posting the relevant config files
> as well as the errors below. I have switched over to testBasicAuth just to
> confirm that I can connect to the NiFi app, which I can. I am not really
> sure where to go from here. I have sifted the internet and Knox
> documentation on this and haven't been able to find anything. I did find
> some info on this error with play and pac4j with the way the session was
> being handled and assumed that Knox would handle this (if not, it is not
> documented that I can find). Any help is appreciated!
>
> Cheers,
>
> Ryan
>
>
> *Error 1: *
> 2018-03-04 11:22:53,701 ERROR engine.DefaultCallbackLogic
> (DefaultCallbackLogic.java:renewSession(123)) - Unable to renew the
> session. The session store may not support this feature
>
> *Error 2:*
> 2018-03-04 10:07:05,578 ERROR knox.gateway 
> (AbstractGatewayFilter.java:doFilter(69))
> - Failed to execute filter: org.pac4j.core.exception.TechnicalException:
> State parameter is different from the one sent in authentication request.
> Session expired or possible threat of cross-site request forgery
> 2018-03-04 10:07:05,578 ERROR knox.gateway (GatewayFilter.java:doFilter(177))
> - Gateway processing failed: javax.servlet.ServletException:
> org.pac4j.core.exception.TechnicalException: State parameter is different
> from the one sent in authentication request. Session expired or possible
> threat of cross-site request forgery
> javax.servlet.ServletException: org.pac4j.core.exception.TechnicalException:
> State parameter is different from the one sent in authentication request.
> Session expired or possible threat of cross-site request forgery
> at org.apache.knox.gateway.filter.AbstractGatewayFilter.doFilter(
> AbstractGatewayFilter.java:70)
> at org.apache.knox.gateway.GatewayFilter$Holder.doFilter(
> GatewayFilter.java:377)
> at org.apache.knox.gateway.GatewayFilter$Chain.doFilter(
> GatewayFilter.java:277)
> at org.apache.knox.gateway.webappsec.filter.XFrameOptionsFilter.doFilter(
> XFrameOptionsFilter.java:58)
> at org.apache.knox.gateway.GatewayFilter$Holder.doFilter(
> GatewayFilter.java:377)
> at org.apache.knox.gateway.GatewayFilter$Chain.doFilter(
> GatewayFilter.java:277)
> at org.apache.knox.gateway.GatewayFilter.doFilter(GatewayFilter.java:171)
> at org.apache.knox.gateway.GatewayFilter.doFilter(GatewayFilter.java:94)
> at org.apache.knox.gateway.GatewayServlet.service(GatewayServlet.java:141)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(
> ServletHandler.java:587)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:143)
> at org.eclipse.jetty.security.SecurityHandler.handle(
> SecurityHandler.java:577)
> at org.eclipse.jetty.server.session.SessionHandler.
> doHandle(SessionHandler.java:223)
> at org.eclipse.jetty.server.handler.ContextHandler.
> doHandle(ContextHandler.java:1127)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(
> ServletHandler.java:515)
> at org.eclipse.jetty.server.session.SessionHandler.
> doScope(SessionHandler.java:185)
> at org.eclipse.jetty.server.handler.ContextHandler.
> doScope(ContextHandler.java:1061)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:141)
> at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> ContextHandlerCollection.java:215)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:97)
> at org.apache.knox.gateway.trace.TraceHandler.handle(TraceHandler.java:51)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:97)
> at org.apache.knox.gateway.filter.CorrelationHandler.
> handle(CorrelationHandler.java:39)
> at org.eclipse.jetty.servlets.gzip.GzipHandler.handle(
> GzipHandler.java:479)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:97)
> at org.apache.knox.gateway.filter.PortMappingHelperHandler.handle(
> PortMappingHelperHandler.java:152)
> at org.eclipse.jetty.server.handler.HandlerCollection.
> handle(HandlerCollection.java:110)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:97)
> at org.eclipse.jetty.server.Server.handle(Server.java:499)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
> at org.eclipse.jetty.server.HttpConnection.onFillable(
> HttpConnection.java:257)
> at org.eclipse.jetty.io.AbstractConnection$2.run(
> AbstractConnection.java:544)
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
> QueuedThreadPool.java:635)
> at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(
> QueuedThreadPool.java:555)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.pac4j.core.exception.TechnicalException: State parameter
> is different from the one sent in authentication request. Session expired
> or possible threat of cross-site request forgery
> at org.pac4j.oidc.credentials.extractor.OidcExtractor.
> extract(OidcExtractor.java:80)
> at org.pac4j.oidc.credentials.extractor.OidcExtractor.
> extract(OidcExtractor.java:31)
> at org.pac4j.core.client.BaseClient.retrieveCredentials(
> BaseClient.java:61)
> at org.pac4j.core.client.IndirectClient.getCredentials(
> IndirectClient.java:125)
> at org.pac4j.core.engine.DefaultCallbackLogic.perform(
> DefaultCallbackLogic.java:79)
> at org.pac4j.j2e.filter.CallbackFilter.internalFilter(
> CallbackFilter.java:77)
> at org.pac4j.j2e.filter.AbstractConfigFilter.doFilter(
> AbstractConfigFilter.java:81)
> at org.apache.knox.gateway.pac4j.filter.Pac4jDispatcherFilter.doFilter(
> Pac4jDispatcherFilter.java:205)
> at org.apache.knox.gateway.GatewayFilter$Holder.doFilter(
> GatewayFilter.java:377)
> at org.apache.knox.gateway.GatewayFilter$Chain.doFilter(
> GatewayFilter.java:277)
> at org.apache.knox.gateway.filter.XForwardedHeaderFilter.doFilter(
> XForwardedHeaderFilter.java:30)
> at org.apache.knox.gateway.filter.AbstractGatewayFilter.doFilter(
> AbstractGatewayFilter.java:61)
> ... 35 more
>
>
> *knoxsso.xml:*
>   <gateway>
>     <provider>
>         <role>webappsec</role>
>         <name>WebAppSec</name>
>         <enabled>true</enabled>
>         <param><name>xframe.options.enabled</name><value>true</
> value></param>
>     </provider>
>     <provider>
>         <role>federation</role>
>         <name>pac4j</name>
>         <enabled>true</enabled>
>         <param>
>           <name>pac4j.callbackUrl</name>
>           <value>https://localhost:8443/gateway/knoxsso/api/v1/websso<
> /value>
>         </param>
>         <param>
>           <name>clientName</name>
>           <value>OidcClient</value>
>         </param>
>         <param>
>           <name>oidc.id</name>
>           <value>my_client_id</value>
>         </param>
>         <param>
>           <name>oidc.secret</name>
>           <value>my_client_secret</value>
>         </param>
>         <param>
>           <name>oidc.discoveryUri</name>
>           <value>https://<my-openid-provider-url>/.well-known/
> openid-configuration</value>
>         </param>
>         <param>
>           <name>oidc.preferredJwsAlgorithm</name>
>           <value>RS256</value>
>         </param>
>     </provider>
> </gateway>
>
> <application>
>   <name>knoxauth</name>
> </application>
>
> <service>
>     <role>KNOXSSO</role>
>     <param>
>         <name>knoxsso.cookie.secure.only</name>
>         <value>false</value>
>     </param>
>     <param>
>         <name>knoxsso.cookie.max.age</name>
>         <value>session</value>
>     </param>
>     <param>
>         <name>knoxsso.token.ttl</name>
>         <value>30000</value>
>     </param>
>     <param>
>        <name>knoxsso.redirect.whitelist.regex</name>
>        <value>^https?:\/\/(localhost|127\.0\.0\.1|0:0:0:
> 0:0:0:0:1|::1):[0-9].*$</value>
>     </param>
> </service>
>
>
>
> *sandbox.xml:*
> <gateway>
> <provider>
>     <role>federation</role>
>     <name>SSOCookieProvider</name>
>     <enabled>true</enabled>
>     <param>
>         <name>sso.authentication.provider.url</name>
>         <value>https://localhost:8443/gateway/knoxsso/api/v1/websso<
> /value>
>     </param>
> </provider>
>
> <provider>
>     <role>identity-assertion</role>
>     <name>Default</name>
>     <enabled>true</enabled>
> </provider>
>     </gateway>
>
>     <service>
>         <role>NIFI</role>
>         <url>http://localhost:8080</url>
>     </service>
>     <application>
>         <role>admin-ui</role>
>     </application>
>     <service>
>         <role>KNOX</role>
>     </service>
>
>

Reply via email to