By: Kant Chen user 11 Jan 2021 at 4:18 a.m. CST

4 Responses
Kant Chen gravatar
Hi, I have installed oxd-server (without gluu-server) on a GCP instance. According to the [documentation](https://gluu.org/docs/oxd/3.1.1/install/), I should register for a license. However when I click the link, it doesn't seem to be a registration site. I search across the sites and I still couldn't find where can I register a license. Could you please tell me what is the exact URL?

By Yuriy Zabrovarnyy staff 11 Jan 2021 at 4:50 a.m. CST

Yuriy Zabrovarnyy gravatar
oxd is free now. It seems you are using very old `3.1.1` not supported version of oxd. If you anyway need to use it here you can find oxd 3.1.1 with switched off licenses here: https://ox.gluu.org/maven/org/xdi/oxd-server/3.1.1.Final/

By Kant Chen user 12 Jan 2021 at 10:56 p.m. CST

Kant Chen gravatar
Thanks Yuriy. I was able to install the latest version(4.2) and register a client successfully. I encounter another error when I call the API `get-client-token`. The API return status code 400, Request ``` endpoint: /get-client-token request_body: { "op_configuration_endpoint": "https://mydomain.com:8443/acme/.well-known/openid-configuration", "scope": ["openid", "oxd", "profile"], "client_id": "Zdwhgy6y9tTEf4D59XX95wrXTf3CchVjy5Z5r5ktz", "client_secret": "5fVyAnJca8XFkKzbAXVDRVKBArfTPFwQBvRMsdh6Fef3GRPqwbThYAbfDwbCTfGa8Enmmu32gwzBGZ6z" } ``` Response ``` status_code: 500 response_body: { "error": "internal_error", "error_description": "Unknown internal server error occurs.", "details": null, "reason": null } ``` I went to see the logs on the server, it seems to be a java error. ``` TRACE [04:49:24.024] [dw-25 - POST /get-client-token] o.g.o.s.RestResource - Checking if caller ipAddress : 36.228.115.147 is allowed to make request to oxd. TRACE [04:49:24.024] [dw-25 - POST /get-client-token] o.g.o.s.RestResource - Command: { "op_configuration_endpoint": "https://mydomain.com:8443/acme/.well-known/openid-configuration", "scope": ["openid", "oxd", "profile"], "client_id": "Zdwhgy6y9tTEf4D59XX95wrXTf3CchVjy5Z5r5ktz", "client_secret": "5fVyAnJca8XFkKzbAXVDRVKBArfTPFwQBvRMsdh6Fef3GRPqwbThYAbfDwbCTfGa8Enmmu32gwzBGZ6z" } TRACE [04:49:24.024] [dw-25 - POST /get-client-token] o.g.o.s.s.RpService - Found rp by client_id: Zdwhgy6y9tTEf4D59XX95wrXTf3CchVjy5Z5r5ktz, rp: Rp{oxdId='8f4139f1-c444-40cb-bcd9-b4b3c1d51ca6', opHost='null', opDiscoveryPath='null', opConfigurationEndpoint='https://mydomain.com:8443/acme/.well-known/openid-configuration', idToken='null', accessToken='null', redirectUri='https://oauth-demo-appb.herokuapp.com/app/c', postLogoutRedirectUri='null', postLogoutRedirectUris='[https://oauth-demo-appb.herokuapp.com/app/c]', applicationType='web', redirectUris=[https://oauth-demo-appb.herokuapp.com/app/c], frontChannelLogoutUris=[], claimsRedirectUri=[], responseTypes=[code], clientId='Zdwhgy6y9tTEf4D59XX95wrXTf3CchVjy5Z5r5ktz', clientRegistrationAccessToken='null', clientRegistrationClientUri='null', clientIdIssuedAt=null, clientSecretExpiresAt=null, clientName='App C', sectorIdentifierUri='null', clientJwksUri='null', scope=[openid, oxd, profile], uiLocales=[], claimsLocales=[], acrValues=[], grantType=[authorization_code, client_credentials], contacts=[service@example.com], userId='null', userSecret='null', pat='null', patExpiresIn=null, patCreatedAt=null, patRefreshToken='null', oauthToken='null', oauthTokenExpiresIn='null, oauthTokenCreatedAt='null, oauthTokenRefreshToken=''null', umaProtectedResources='[], rpt='null', rptTokenType='null', rptPct='null', rptExpiresAt='null', rptCreatedAt='null', rptUpgraded='null', rptAsJwt='false', tokenEndpointAuthSigningAlg='null', tokenEndpointAuthMethod='null', oxdRpProgrammingLanguage='null', accessTokenAsJwt='false', accessTokenSigningAlg='null', frontChannelLogoutSessionRequired='false', runIntrospectionScriptBeforeAccessTokenAsJwtCreationAndIncludeClaims='false', requireAuthTime='false', logoUri='null', clientUri='null', policyUri='null', tosUri='null', jwks='null', idTokenBindingCnf='null', tlsClientAuthSubjectDn='null', idTokenSignedResponseAlg='null', idTokenEncryptedResponseAlg='null', idTokenEncryptedResponseEnc='null', userInfoSignedResponseAlg='null', userInfoEncryptedResponseAlg='null', userInfoEncryptedResponseEnc='null', requestObjectSigningAlg='null', requestObjectEncryptionAlg='null', requestObjectEncryptionEnc='null', defaultMaxAge='null', initiateLoginUri='null', authorizedOrigins='null', accessTokenLifetime='null', softwareId='null', softwareVersion='null', softwareStatement='null', customAttributes='{oxd_id=8f4139f1-c444-40cb-bcd9-b4b3c1d51ca6}', requestUris='[]', lastSynced='null', syncClientFromOp='false', syncClientPeriodInSeconds='86400', allowSpontaneousScopes='false', spontaneousScopes='null'} TRACE [04:49:24.025] [dw-25 - POST /get-client-token] o.g.o.s.s.HttpService - Created TRUST_ALL client. ERROR [04:49:24.346] [dw-25 - POST /get-client-token] o.g.o.s.o.GetClientTokenOperation - RESTEASY004020: uriTemplate parameter is null java.lang.IllegalArgumentException: RESTEASY004020: uriTemplate parameter is null at org.jboss.resteasy.specimpl.ResteasyUriBuilder.uriTemplate(ResteasyUriBuilder.java:152) at org.jboss.resteasy.client.ClientRequest.getBuilder(ClientRequest.java:156) at org.jboss.resteasy.client.ClientRequest.<init>(ClientRequest.java:107) at org.gluu.oxauth.client.BaseClient.initClientRequest(BaseClient.java:231) at org.gluu.oxauth.client.TokenClient.exec(TokenClient.java:218) at org.gluu.oxauth.client.TokenClient.execClientCredentialsGrant(TokenClient.java:151) at org.gluu.oxd.server.op.GetClientTokenOperation.execute(GetClientTokenOperation.java:72) at org.gluu.oxd.server.op.GetClientTokenOperation.execute(GetClientTokenOperation.java:30) at org.gluu.oxd.server.Processor.process(Processor.java:47) at org.gluu.oxd.server.RestResource.getObjectForJsonConversion(RestResource.java:337) at org.gluu.oxd.server.RestResource.process(RestResource.java:283) at org.gluu.oxd.server.RestResource.getClientToken(RestResource.java:71) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167) at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79) at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80) at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) at org.glassfish.jersey.internal.Errors.process(Errors.java:292) at org.glassfish.jersey.internal.Errors.process(Errors.java:274) at org.glassfish.jersey.internal.Errors.process(Errors.java:244) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232) at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680) at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394) at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) at io.dropwizard.jetty.NonblockingServletHolder.handle(NonblockingServletHolder.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631) at io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:35) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(AllowedMethodsFilter.java:47) at io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(AllowedMethodsFilter.java:41) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1369) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:489) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1284) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:249) at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:52) at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:717) at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:54) at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:501) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:272) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:543) at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:398) at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) at java.base/java.lang.Thread.run(Thread.java:834) ERROR [04:49:24.348] [dw-25 - POST /get-client-token] o.g.o.s.Processor - HTTP 500 Internal Server Error org.gluu.oxd.server.HttpException: HTTP 500 Internal Server Error at org.gluu.oxd.server.HttpException.internalError(HttpException.java:30) at org.gluu.oxd.server.op.GetClientTokenOperation.execute(GetClientTokenOperation.java:97) at org.gluu.oxd.server.op.GetClientTokenOperation.execute(GetClientTokenOperation.java:30) at org.gluu.oxd.server.Processor.process(Processor.java:47) at org.gluu.oxd.server.RestResource.getObjectForJsonConversion(RestResource.java:337) at org.gluu.oxd.server.RestResource.process(RestResource.java:283) at org.gluu.oxd.server.RestResource.getClientToken(RestResource.java:71) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167) at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79) at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80) at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) at org.glassfish.jersey.internal.Errors.process(Errors.java:292) at org.glassfish.jersey.internal.Errors.process(Errors.java:274) at org.glassfish.jersey.internal.Errors.process(Errors.java:244) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232) at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680) at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394) at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) at io.dropwizard.jetty.NonblockingServletHolder.handle(NonblockingServletHolder.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631) at io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:35) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(AllowedMethodsFilter.java:47) at io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(AllowedMethodsFilter.java:41) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1369) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:489) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1284) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:249) at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:52) at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:717) at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:54) at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:501) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:272) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:543) at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:398) at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) at java.base/java.lang.Thread.run(Thread.java:834) ``` Could you please suggest how to solve this problem or is there anything on the setting file I may do wrongly as I don't know Java?

By Arnab Dutta staff 13 Jan 2021 at 4:04 a.m. CST

Arnab Dutta gravatar
Hi Kant, Starting with version 4.1, oxd is offered as one of the several components of the Gluu Server CE. We are not providing oxd 4.2 packages to install it independently. Please confirm if you have installed oxd with Gluu server. Please follow below step so that we can investigate: 1. stop oxd server 2. start oxd server 3. try to execute `/get-client-token` endpoint again. 4. If it fails then login to gluu server 5. share complete `/var/log/oxd-server/oxd-server.log` and `/opt/gluu/jetty/oxauth/logs/oxauth.log` From the complete oxd log, we will find the version of oxd installed, and hence we can easily find the root cause of the error. There are changes in request parameters of oxd 4.2 end-points so we need to make sure that you are not using the previous version.

By Kant Chen user 14 Jan 2021 at 1:16 a.m. CST

Kant Chen gravatar
Hi Arnab, I didn't aware that oxd needs to be installed with gluu-server. I only installed oxd because we want to keep the running instance minimum. Maybe I would try installing version 4.0 or 3.1.1 instead. Thanks you!