Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(jans-auth): oidc client registration throwing error (MySql) #7703

Closed
duttarnab opened this issue Feb 13, 2024 · 3 comments · Fixed by #7722
Closed

fix(jans-auth): oidc client registration throwing error (MySql) #7703

duttarnab opened this issue Feb 13, 2024 · 3 comments · Fixed by #7722
Assignees
Labels
comp-jans-auth-server Component affected by issue or PR kind-bug Issue or PR is a bug in existing functionality

Comments

@duttarnab
Copy link
Contributor

Describe the bug
oidc client registration throwing error (MySql)

To Reproduce
Unable to register client

https://manojs1978-great-vulture.gluu.info/jans-auth/restv1/register

Request-Body

{
"redirect_uris":["https://manojs1978-great-vulture.gluu.info"],
"scope":"openid",
"post_logout_redirect_uris":["chrome-extension://omoddecjgekfdnpbffmcamnakobemgem/options.html"],
"response_types":["code"],
"grant_types":["authorization_code"],
"application_type":"web",
"client_name":"jans-tarp-90af23cf-930e-4d1a-9966-a23fba1bbe08",
"token_endpoint_auth_method":"client_secret_basic"
}

Expected behavior
The client should be registered

Screenshots
image

Desktop (please complete the following information):

  • OS:suse 15 sp5
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]
  • flex 5.0.0-22.nightly
  • DB mysql

Additional context
Log

2024-02-13 07:23:52,922 INFO  [qtp990416209-22] [jans.as.common.service.common.ApplicationFactory] (ApplicationFactory.java:74) - Cache configuration: CacheConfiguration{cacheProviderType=NATIVE_PERSISTENCE, memcachedConfiguration=MemcachedConfiguration{servers='localhost:11211', maxOperationQueueLength=100000, bufferSize=32768, defaultPutExpiration=60, connectionFactoryType=DEFAULT}, redisConfiguration=RedisConfiguration{servers='localhost:6379', defaultPutExpiration=60, redisProviderType=STANDALONE, useSSL=false, sslTrustStoreFilePath=, sslKeyStoreFilePath=, sentinelMasterGroupName=, maxIdleConnections=10, maxTotalConnections=500, connectionTimeout=3000, soTimeout=3000, maxRetryAttempts=5}, inMemoryConfiguration=InMemoryConfiguration{defaultPutExpiration=60}, nativePersistenceConfiguration=NativePersistenceConfiguration [defaultPutExpiration=60, defaultCleanupBatchSize=10000, deleteExpiredOnGetRequest=false, disableAttemptUpdateBeforeInsert=false, baseDn=o=jans]}
2024-02-13 07:23:53,634 DEBUG [Jans AuthScheduler_Worker-8] [io.jans.service.timer.RequestJobListener] (RequestJobListener.java:59) - Bound request started
2024-02-13 07:23:53,634 DEBUG [Jans AuthScheduler_Worker-8] [io.jans.service.timer.TimerJob] (TimerJob.java:42) - Fire timer event [io.jans.service.cdi.event.CibaRequestsProcessorEvent] with qualifiers [@io.jans.service.cdi.event.Scheduled()] from instance 239243657
2024-02-13 07:23:53,641 DEBUG [Jans AuthScheduler_Worker-8] [io.jans.service.timer.RequestJobListener] (RequestJobListener.java:69) - Bound request ended
2024-02-13 07:23:53,732 INFO  [qtp990416209-20] [server.register.ws.rs.action.RegisterCreateAction] (RegisterCreateAction.java:111) - Attempting to register client: applicationType = web, clientName = jans-tarp-90af23cf-930e-4d1a-9966-a23fba1bbe08, redirectUris = [https://manojs1978-great-vulture.gluu.info], isSecure = true, sectorIdentifierUri = , defaultAcrValues = [], evidence =
2024-02-13 07:23:54,102 DEBUG [qtp990416209-20] [io.jans.as.server.service.ClientService] (ClientService.java:92) - persistenceType: sql
2024-02-13 07:23:54,103 DEBUG [qtp990416209-20] [io.jans.as.server.service.ClientService] (ClientService.java:94) - Setting CustomObjectClasses :null to null as it's used only for LDAP and current persistenceType is sql
2024-02-13 07:23:54,167 DEBUG [qtp990416209-20] [io.jans.as.model.error.ErrorResponseFactory] (ErrorResponseFactory.java:83) - Looking for the error with id: invalid_client_metadata
2024-02-13 07:23:54,176 DEBUG [qtp990416209-20] [io.jans.as.model.error.ErrorResponseFactory] (ErrorResponseFactory.java:88) - Found error, id: invalid_client_metadata
2024-02-13 07:23:54,178 ERROR [qtp990416209-20] [server.register.ws.rs.action.RegisterCreateAction] (RegisterCreateAction.java:191) - null
java.util.NoSuchElementException: null
        at java.util.ArrayList$Itr.next(ArrayList.java:970) ~[?:?]
        at io.jans.as.server.register.ws.rs.RegisterJsonService.getJSONObject(RegisterJsonService.java:157) ~[classes/:?]
        at io.jans.as.server.register.ws.rs.action.RegisterCreateAction.createClient(RegisterCreateAction.java:172) ~[classes/:?]
        at io.jans.as.server.register.ws.rs.RegisterRestWebServiceImpl.requestRegister(RegisterRestWebServiceImpl.java:52) ~[classes/:?]
        at io.jans.as.server.register.ws.rs.RegisterRestWebServiceImpl$Proxy$_$$_WeldClientProxy.requestRegister(Unknown Source) ~[classes/:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
        at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:170) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:130) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:660) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:524) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:474) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:476) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:434) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:408) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:69) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:492) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:261) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:161) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:164) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:247) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:249) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:60) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) ~[resteasy-core-6.0.3.Final.jar:6.0.3.Final]
        at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587) ~[jetty-jakarta-servlet-api-5.0.2.jar:?]
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764) ~[?:?]
        at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665) ~[?:?]
        at io.jans.as.server.auth.AuthenticationFilter.processSessionAuth(AuthenticationFilter.java:376) ~[classes/:?]
        at io.jans.as.server.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:261) ~[classes/:?]
        at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at io.jans.as.server.audit.debug.ServletLoggingFilter.doFilter(ServletLoggingFilter.java:69) ~[classes/:?]
        at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at io.jans.server.filters.AbstractCorsFilter.handleSimpleCORS(AbstractCorsFilter.java:222) ~[jans-core-server-1.0.23-SNAPSHOT.jar:?]
        at io.jans.server.filters.AbstractCorsFilter.doFilter(AbstractCorsFilter.java:115) ~[jans-core-server-1.0.23-SNAPSHOT.jar:?]
        at io.jans.as.server.filter.CorsFilter.doFilter(CorsFilter.java:116) ~[classes/:?]
        at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at io.jans.as.server.filter.CorrelationIdFilter.doFilter(CorrelationIdFilter.java:49) ~[classes/:?]
        at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:170) ~[websocket-servlet-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131) ~[?:?]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) ~[jetty-security-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[?:?]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223) ~[?:?]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570) ~[jetty-server-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) ~[?:?]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1381) ~[jetty-server-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) ~[?:?]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484) ~[jetty-servlet-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543) ~[jetty-server-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) ~[?:?]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1303) ~[jetty-server-11.0.15.jar:11.0.15]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) ~[?:?]
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:192) ~[?:?]
        at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51) ~[?:?]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[?:?]
        at org.eclipse.jetty.server.Server.handle(Server.java:563) ~[?:?]
        at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505) ~[?:?]
        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762) ~[?:?]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497) ~[?:?]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282) ~[?:?]
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314) ~[?:?]
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) ~[?:?]
        at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) ~[?:?]
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416) ~[?:?]
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385) ~[?:?]
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272) ~[?:?]
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140) ~[?:?]
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149) ~[?:?]
        at java.lang.Thread.run(Thread.java:840) ~[?:?]
2024-02-13 07:23:58,440 DEBUG [Jans AuthScheduler_Worker-1] [io.jans.service.timer.RequestJobListener] (RequestJobListener.java:59) - Bound request started
2024-02-13 07:23:58,441 DEBUG [Jans AuthScheduler_Worker-1] [io.jans.service.timer.TimerJob] (TimerJob.java:42) - Fire timer event [io.jans.service.cdi.event.ConfigurationEvent] with qualifiers [@io.jans.service.cdi.event.Scheduled()] from instance 765156270
2024-02-13 07:23:58,441 DEBUG [Jans AuthScheduler_Worker-1] [io.jans.service.timer.RequestJobListener] (RequestJobListener.java:69) - Bound request ended
2024-02-13 07:23:58,447 DEBUG [Jans AuthScheduler_Worker-2] [io.jans.service.timer.RequestJobListener] (RequestJobListener.java:59) - Bound request started
2024-02-13 07:23:58,447 DEBUG [Jans AuthScheduler_Worker-2] [io.jans.service.timer.TimerJob] (TimerJob.java:42) - Fire timer event [io.jans.service.cdi.event.LoggerUpdateEvent] with qualifiers [@io.jans.service.cdi.event.Scheduled()] from instance 1380018189
2024-02-13 07:23:58,448 DEBUG [Jans AuthScheduler_Worker-2] [io.jans.service.timer.RequestJobListener] (RequestJobListener.java:69) - Bound request ended
2024-02-13 07:23:58,493 INFO  [Thread-22] [io.jans.service.logger.LoggerService] (LoggerService.java:226) - Updated log level of '113' loggers to DEBUG
2024-02-13 07:23:58,589 DEBUG [Jans AuthScheduler_Worker-3] [io.jans.service.timer.RequestJobListener] (RequestJobListener.java:59) - Bound request started
2024-02-13 07:23:58,590 DEBUG [Jans AuthScheduler_Worker-3] [io.jans.service.timer.TimerJob] (TimerJob.java:42) - Fire timer event [io.jans.service.cdi.event.CleanerEvent] with qualifiers [@io.jans.service.cdi.event.Scheduled()] from instance 945117787
2024-02-13 07:23:58,595 DEBUG [Jans AuthScheduler_Worker-3] [io.jans.service.timer.RequestJobListener] (RequestJobListener.java:69) - Bound request ended
2024-02-13 07:23:58,631 DEBUG [Jans AuthScheduler_Worker-4] [io.jans.service.timer.RequestJobListener] (RequestJobListener.java:59) - Bound request started
2024-02-13 07:23:58,631 DEBUG [Jans AuthScheduler_Worker-4] [io.jans.service.timer.TimerJob] (TimerJob.java:42) - Fire timer event [io.jans.service.cdi.event.CibaRequestsProcessorEvent] with qualifiers [@io.jans.service.cdi.event.Scheduled()] from instance 1455279127
2024-02-13 07:23:58,639 DEBUG [Jans AuthScheduler_Worker-4] [io.jans.service.timer.RequestJobListener] (RequestJobListener.java:69) - Bound request ended

@duttarnab duttarnab added kind-bug Issue or PR is a bug in existing functionality comp-jans-auth-server Component affected by issue or PR labels Feb 13, 2024
@yuriyz
Copy link
Contributor

yuriyz commented Feb 13, 2024

It's caused by recent change. I will fix.

yuriyz added a commit that referenced this issue Feb 14, 2024
Signed-off-by: YuriyZ <yzabrovarniy@gmail.com>
yuriyz added a commit that referenced this issue Feb 14, 2024
Signed-off-by: YuriyZ <yzabrovarniy@gmail.com>
@Sesota
Copy link

Sesota commented Feb 14, 2024

Thanks for the good work @yuriyz

I'm just wondering, how can I fix my current deployment to have your recent patch? What command should I run so that the AS gets the update? Is it available for public at all?

@yuriyz
Copy link
Contributor

yuriyz commented Feb 14, 2024

Safe way is to wait on release and install release.
But if you are willing to take snapshot version then you can download it from maven repo. Yes, it is publicly available and you can find it here:
https://maven.jans.io/maven/io/jans/jans-auth-server/1.1.0-SNAPSHOT/jans-auth-server-1.1.0-SNAPSHOT.war

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp-jans-auth-server Component affected by issue or PR kind-bug Issue or PR is a bug in existing functionality
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants