By: Rj .. user 10 Oct 2017 at 2:59 a.m. CDT

2 Responses
Rj .. gravatar
Hi all, I am integrating the oxd client API [https://github.com/GluuFederation/oxd](https://github.com/GluuFederation/oxd) to achieve the social (Google) login. When I run the following class: [https://github.com/GluuFederation/oxd/blob/master/oxd-client/src/test/java/org/xdi/oxd/client/manual/GoogleTest.java](https://github.com/GluuFederation/oxd/blob/master/oxd-client/src/test/java/org/xdi/oxd/client/manual/GoogleTest.java) I am getting the following error on my console: ``` /usr/lib/jvm/java-8-oracle/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:34735,suspend=y,server=n -Dfile.encoding=UTF-8 -classpath "/usr/lib/jvm/java-8-oracle/jre/lib/charsets.jar:/usr/lib/jvm/java-8-oracle/jre/lib/deploy.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/cldrdata.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/jaccess.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/jfxrt.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/nashorn.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunec.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-8-oracle/jre/lib/javaws.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jce.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jfr.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jfxswt.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jsse.jar:/usr/lib/jvm/java-8-oracle/jre/lib/management-agent.jar:/usr/lib/jvm/java-8-oracle/jre/lib/plugin.jar:/usr/lib/jvm/java-8-oracle/jre/lib/resources.jar:/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar:/home/sp/Downloads/OXD CLIENT/oxd-master/oxd-client/target/test-classes:/home/sp/Downloads/OXD CLIENT/oxd-master/oxd-client/target/classes:/home/sp/Downloads/OXD CLIENT/oxd-master/oxd-common/target/classes:/home/sp/.m2/repository/org/xdi/uma-rs-resteasy/3.1.1-SNAPSHOT/uma-rs-resteasy-3.1.1-SNAPSHOT.jar:/home/sp/.m2/repository/org/xdi/uma-rs-core/3.1.1-SNAPSHOT/uma-rs-core-3.1.1-SNAPSHOT.jar:/home/sp/.m2/repository/org/xdi/oxauth-model/3.1.1-SNAPSHOT/oxauth-model-3.1.1-SNAPSHOT.jar:/home/sp/.m2/repository/org/gluu/oxeleven-client/3.1.1-SNAPSHOT/oxeleven-client-3.1.1-SNAPSHOT.jar:/home/sp/.m2/repository/org/gluu/oxeleven-model/3.1.1-SNAPSHOT/oxeleven-model-3.1.1-SNAPSHOT.jar:/home/sp/.m2/repository/org/jboss/resteasy/resteasy-jaxb-provider/3.0.21.Final/resteasy-jaxb-provider-3.0.21.Final.jar:/home/sp/.m2/repository/com/sun/xml/bind/jaxb-impl/2.2.7/jaxb-impl-2.2.7.jar:/home/sp/.m2/repository/com/sun/xml/bind/jaxb-core/2.2.7/jaxb-core-2.2.7.jar:/home/sp/.m2/repository/javax/xml/bind/jaxb-api/2.2.7/jaxb-api-2.2.7.jar:/home/sp/.m2/repository/com/sun/istack/istack-commons-runtime/2.16/istack-commons-runtime-2.16.jar:/home/sp/.m2/repository/com/sun/xml/fastinfoset/FastInfoset/1.2.12/FastInfoset-1.2.12.jar:/home/sp/.m2/repository/javax/xml/bind/jsr173_api/1.0/jsr173_api-1.0.jar:/home/sp/.m2/repository/org/xdi/oxcore-model/3.1.1-SNAPSHOT/oxcore-model-3.1.1-SNAPSHOT.jar:/home/sp/.m2/repository/org/codehaus/jettison/jettison/1.3.2/jettison-1.3.2.jar:/home/sp/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar:/home/sp/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar:/home/sp/.m2/repository/org/apache/httpcomponents/httpclient/4.2.3/httpclient-4.2.3.jar:/home/sp/.m2/repository/org/xdi/oxauth-client/3.1.1-SNAPSHOT/oxauth-client-3.1.1-SNAPSHOT.jar:/home/sp/.m2/repository/org/jboss/resteasy/resteasy-jaxrs/3.0.21.Final/resteasy-jaxrs-3.0.21.Final.jar:/home/sp/.m2/repository/org/jboss/spec/javax/ws/rs/jboss-jaxrs-api_2.0_spec/1.0.1.Beta1/jboss-jaxrs-api_2.0_spec-1.0.1.Beta1.jar:/home/sp/.m2/repository/org/jboss/spec/javax/annotation/jboss-annotations-api_1.2_spec/1.0.0.Final/jboss-annotations-api_1.2_spec-1.0.0.Final.jar:/home/sp/.m2/repository/javax/activation/activation/1.1.1/activation-1.1.1.jar:/home/sp/.m2/repository/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar:/home/sp/.m2/repository/org/jboss/logging/jboss-logging/3.3.0.Final/jboss-logging-3.3.0.Final.jar:/home/sp/.m2/repository/org/jboss/resteasy/resteasy-jackson-provider/3.0.21.Final/resteasy-jackson-provider-3.0.21.Final.jar:/home/sp/.m2/repository/org/codehaus/jackson/jackson-jaxrs/1.9.13/jackson-jaxrs-1.9.13.jar:/home/sp/.m2/repository/org/codehaus/jackson/jackson-xc/1.9.13/jackson-xc-1.9.13.jar:/home/sp/.m2/repository/org/jboss/resteasy/jaxrs-api/3.0.12.Final/jaxrs-api-3.0.12.Final.jar:/home/sp/.m2/repository/commons-cli/commons-cli/1.3.1/commons-cli-1.3.1.jar:/home/sp/.m2/repository/org/apache/httpcomponents/httpcore/4.4.6/httpcore-4.4.6.jar:/home/sp/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.54/bcprov-jdk15on-1.54.jar:/home/sp/.m2/repository/org/bouncycastle/bcpkix-jdk15on/1.54/bcpkix-jdk15on-1.54.jar:/home/sp/.m2/repository/org/xdi/oxcore-util/3.1.1-SNAPSHOT/oxcore-util-3.1.1-SNAPSHOT.jar:/home/sp/.m2/repository/org/xdi/oxcore-ldap-annotations/3.1.1-SNAPSHOT/oxcore-ldap-annotations-3.1.1-SNAPSHOT.jar:/home/sp/.m2/repository/javax/persistence/persistence-api/1.0.2/persistence-api-1.0.2.jar:/home/sp/.m2/repository/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar:/home/sp/.m2/repository/org/apache/commons/commons-exec/1.1/commons-exec-1.1.jar:/home/sp/.m2/repository/com/sun/faces/jsf-api/2.2.14/jsf-api-2.2.14.jar:/home/sp/.m2/repository/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.jar:/home/sp/.m2/repository/commons-logging/commons-logging/1.0/commons-logging-1.0.jar:/home/sp/.m2/repository/commons-codec/commons-codec/1.5/commons-codec-1.5.jar:/home/sp/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar:/home/sp/.m2/repository/com/google/guava/guava/17.0/guava-17.0.jar:/home/sp/.m2/repository/commons-configuration/commons-configuration/1.6/commons-configuration-1.6.jar:/home/sp/.m2/repository/commons-digester/commons-digester/1.8.1/commons-digester-1.8.1.jar:/home/sp/.m2/repository/commons-io/commons-io/2.2/commons-io-2.2.jar:/home/sp/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar:/home/sp/.m2/repository/commons-net/commons-net/3.0/commons-net-3.0.jar:/home/sp/.m2/repository/log4j/log4j/1.2.16/log4j-1.2.16.jar:/home/sp/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/home/sp/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar:/home/sp/.m2/repository/org/codehaus/jackson/jackson-core-asl/1.9.9/jackson-core-asl-1.9.9.jar:/home/sp/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.9/jackson-mapper-asl-1.9.9.jar:/home/sp/.m2/repository/org/testng/testng/6.3.1/testng-6.3.1.jar:/home/sp/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar:/home/sp/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar:/home/sp/.m2/repository/com/beust/jcommander/1.12/jcommander-1.12.jar:/home/sp/.m2/repository/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar:/home/sp/Downloads/Software/idea-IC-172.3544.35/lib/idea_rt.jar" org.xdi.oxd.client.manual.GoogleTest Connected to the target VM, address: '127.0.0.1:34735', transport: 'socket' 2017-10-10 12:07:08,790 TRACE [org.xdi.oxd.client.TransportClient] Send: 0816{"command":"register_site","params":{"scope":null,"contacts":null,"op_host":"https://gluugapi.enetdefender.com","op_discovery_path":null,"authorization_redirect_uri":"https://gluugapi.enetdefender.com/passport/auth/google/callback","post_logout_redirect_uri":null,"protection_access_token":null,"redirect_uris":null,"response_types":null,"claims_redirect_uri":null,"client_id":"608779170198-pv56rhi4ctqsrq36t8hdgphuvbspfnc3.apps.googleusercontent.com","client_secret":"JxExgUHtz9RlDJKf4iLxCEae","client_name":null,"client_jwks_uri":null,"client_token_endpoint_auth_method":null,"client_request_uris":null,"client_frontchannel_logout_uris":null,"client_sector_identifier_uri":null,"ui_locales":null,"claims_locales":null,"acr_values":null,"grant_types":null,"trusted_client":false,"oxd_rp_programming_language":null}} 2017-10-10 12:07:08,795 TRACE [org.xdi.oxd.common.CoreUtils] commandSize: -1, stringStorage: 2017-10-10 12:07:08,872 TRACE [org.xdi.oxd.common.CoreUtils] Parsed sizeString: 0118, commandSize: 118 2017-10-10 12:07:08,872 TRACE [org.xdi.oxd.common.CoreUtils] Read result: ReadResult{m_command='{"status":"ok","data":{"oxd_id":"25ddc92e-c612-4151-b47c-5509edcd2091","op_host":"https://gluugapi.enetdefender.com"}}', m_leftString=''} 2017-10-10 12:07:08,873 TRACE [org.xdi.oxd.client.TransportClient] Response: ReadResult{m_command='{"status":"ok","data":{"oxd_id":"25ddc92e-c612-4151-b47c-5509edcd2091","op_host":"https://gluugapi.enetdefender.com"}}', m_leftString=''} 2017-10-10 12:24:43,151 TRACE [org.xdi.oxd.client.TransportClient] Send: 0205{"command":"get_authorization_url","params":{"prompt":null,"scope":null,"oxd_id":"25ddc92e-c612-4151-b47c-5509edcd2091","acr_values":null,"hd":null,"protection_access_token":null,"custom_parameters":null}} 2017-10-10 12:24:43,151 TRACE [org.xdi.oxd.common.CoreUtils] commandSize: -1, stringStorage: 2017-10-10 12:24:44,585 TRACE [org.xdi.oxd.common.CoreUtils] Parsed sizeString: 0376, commandSize: 376 2017-10-10 12:24:44,585 TRACE [org.xdi.oxd.common.CoreUtils] Read result: ReadResult{m_command='{"status":"ok","data":{"authorization_url":"https://gluugapi.enetdefender.com/oxauth/restv1/authorize?response_type=code&client_id=608779170198-pv56rhi4ctqsrq36t8hdgphuvbspfnc3.apps.googleusercontent.com&redirect_uri=https://gluugapi.enetdefender.com/passport/auth/google/callback&scope=openid+profile+email&state=29ih1e3qkcksd04ubf2aggobug&nonce=iab747ho2q2q2sk6106uqohiu3"}}', m_leftString=''} 2017-10-10 12:24:44,585 TRACE [org.xdi.oxd.client.TransportClient] Response: ReadResult{m_command='{"status":"ok","data":{"authorization_url":"https://gluugapi.enetdefender.com/oxauth/restv1/authorize?response_type=code&client_id=608779170198-pv56rhi4ctqsrq36t8hdgphuvbspfnc3.apps.googleusercontent.com&redirect_uri=https://gluugapi.enetdefender.com/passport/auth/google/callback&scope=openid+profile+email&state=29ih1e3qkcksd04ubf2aggobug&nonce=iab747ho2q2q2sk6106uqohiu3"}}', m_leftString=''} Authorization url: https://gluugapi.enetdefender.com/oxauth/restv1/authorize?response_type=code&client_id=608779170198-pv56rhi4ctqsrq36t8hdgphuvbspfnc3.apps.googleusercontent.com&redirect_uri=https://gluugapi.enetdefender.com/passport/auth/google/callback&scope=openid+profile+email&state=29ih1e3qkcksd04ubf2aggobug&nonce=iab747ho2q2q2sk6106uqohiu3 2017-10-10 12:26:33,408 TRACE [org.xdi.oxd.client.TransportClient] Send: 0171{"command":"get_tokens_by_code","params":{"code":"1kvfl24cjkm14aequj8dr08s5b","state":null,"oxd_id":"25ddc92e-c612-4151-b47c-5509edcd2091","protection_access_token":null}} 2017-10-10 12:26:33,413 TRACE [org.xdi.oxd.common.CoreUtils] commandSize: -1, stringStorage: 2017-10-10 12:26:33,414 TRACE [org.xdi.oxd.common.CoreUtils] Parsed sizeString: 0106, commandSize: 106 2017-10-10 12:26:33,415 TRACE [org.xdi.oxd.common.CoreUtils] Read result: ReadResult{m_command='{"status":"error","data":{"error":"bad_request","error_description":"'state' is empty or not specified."}}', m_leftString=''} 2017-10-10 12:26:33,415 TRACE [org.xdi.oxd.client.TransportClient] Response: ReadResult{m_command='{"status":"error","data":{"error":"bad_request","error_description":"'state' is empty or not specified."}}', m_leftString=''} 2017-10-10 12:27:24,133 ERROR [org.xdi.oxd.common.CommandResponse] Unrecognized field "error" (Class org.xdi.oxd.common.response.GetTokensByCodeResponse), not marked as ignorable at [Source: java.io.StringReader@6497b078; line: 1, column: 11] (through reference chain: org.xdi.oxd.common.response.GetTokensByCodeResponse["error"]) org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "error" (Class org.xdi.oxd.common.response.GetTokensByCodeResponse), not marked as ignorable at [Source: java.io.StringReader@6497b078; line: 1, column: 11] (through reference chain: org.xdi.oxd.common.response.GetTokensByCodeResponse["error"]) at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53) at org.codehaus.jackson.map.deser.StdDeserializationContext.unknownFieldException(StdDeserializationContext.java:267) at org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnknownProperty(StdDeserializer.java:673) at org.codehaus.jackson.map.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:659) at org.codehaus.jackson.map.deser.BeanDeserializer.handleUnknownProperty(BeanDeserializer.java:1365) at org.codehaus.jackson.map.deser.BeanDeserializer._handleUnknown(BeanDeserializer.java:725) at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:703) at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580) at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732) at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863) at org.xdi.oxd.common.CommandResponse.dataAsResponse(CommandResponse.java:71) at org.xdi.oxd.client.manual.GoogleTest.main(GoogleTest.java:56) 2017-10-10 12:27:24,360 ERROR [org.xdi.oxd.common.CommandResponse] Unable to parse string to response, string: {"error":"bad_request","error_description":"'state' is empty or not specified."} null Disconnected from the target VM, address: '127.0.0.1:34735', transport: 'socket' Process finished with exit code 0 //-----------------------------------------------------------------------// ##Even I followed your document(https://gluu.org/docs/oxd/libraries/java/), create a class and run step by step: ##1.Register Site# getting response: 2017-10-10 13:03:00,769 TRACE [org.xdi.oxd.client.TransportClient] Send: 0805{"command":"register_site","params":{"scope":["openid","uma_protection","uma_authorization"],"contacts":null,"op_host":"gluugapi.enetdefender.com","op_discovery_path":null,"authorization_redirect_uri":"https://localhost/oxauth/authorize","post_logout_redirect_uri":"https://localhost/logout","protection_access_token":null,"redirect_uris":["https://localhost/logout"],"response_types":["code"],"claims_redirect_uri":null,"client_id":null,"client_secret":null,"client_name":null,"client_jwks_uri":null,"client_token_endpoint_auth_method":null,"client_request_uris":null,"client_frontchannel_logout_uris":null,"client_sector_identifier_uri":null,"ui_locales":null,"claims_locales":null,"acr_values":["passport"],"grant_types":["authorization_code"],"trusted_client":true,"oxd_rp_programming_language":null}} 2017-10-10 13:03:00,770 TRACE [org.xdi.oxd.common.CoreUtils] commandSize: -1, stringStorage: 2017-10-10 13:03:02,215 TRACE [org.xdi.oxd.common.CoreUtils] Parsed sizeString: 0110, commandSize: 110 2017-10-10 13:03:02,216 TRACE [org.xdi.oxd.common.CoreUtils] Read result: ReadResult{m_command='{"status":"ok","data":{"oxd_id":"44f85711-41c8-47d2-ba04-5532f0afcb39","op_host":"gluugapi.enetdefender.com"}}', m_leftString=''} 2017-10-10 13:03:02,216 TRACE [org.xdi.oxd.client.TransportClient] Response: ReadResult{m_command='{"status":"ok","data":{"oxd_id":"44f85711-41c8-47d2-ba04-5532f0afcb39","op_host":"gluugapi.enetdefender.com"}}', m_leftString=''} 44f85711-41c8-47d2-ba04-5532f0afcb39 Process finished with exit code 0 ##2.Get Authorization URL# getting : Response: ReadResult{m_command='{"status":"ok","data":{"authorization_url":"https://gluugapi.enetdefender.com/oxauth/restv1/authorize?response_type=code&client_id=@!FD94.D3DE.87E1.973C!0001!DF92.A022!0008!013A.B639.7C06.E0A0&redirect_uri=https://gluugapi.enetdefender.com/passport/auth/google/callback&scope=openid+uma_protection+profile&state=aqst96qh2fn5amjq46qt3tnvgp&nonce=8ltnic7bbojcd16ghqvln8k013"}}', m_leftString=''} Process finished with exit code 0 ##3.Get Tokens by Code# getting response: 2017-10-10 13:19:22,775 TRACE [org.xdi.oxd.client.TransportClient] Response: ReadResult{m_command='{"status":"ok","data":{"authorization_url":"https://gluugapi.enetdefender.com/oxauth/restv1/authorize?response_type=code&client_id=@!FD94.D3DE.87E1.973C!0001!DF92.A022!0008!4574.7C7C.58DA.B1D0&redirect_uri=https://gluugapi.enetdefender.com/passport/auth/google/callback&scope=openid+uma_protection+profile&state=47q48bjgdml5qkda0pdoa38il9&nonce=4q6lfkg1o06664kqm96661cqaf"}}', m_leftString=''} 2017-10-10 13:19:22,780 TRACE [org.xdi.oxd.client.TransportClient] Send: 0171{"command":"get_tokens_by_code","params":{"code":"h2s86m92g4jse09agogg49vgnu","state":null,"oxd_id":"088bc7aa-79e4-4aa2-b8f9-b6e7e2237eff","protection_access_token":null}} 2017-10-10 13:19:22,781 TRACE [org.xdi.oxd.common.CoreUtils] commandSize: -1, stringStorage: 2017-10-10 13:19:22,783 TRACE [org.xdi.oxd.common.CoreUtils] Parsed sizeString: 0106, commandSize: 106 2017-10-10 13:19:22,783 TRACE [org.xdi.oxd.common.CoreUtils] Read result: ReadResult{m_command='{"status":"error","data":{"error":"bad_request","error_description":"'state' is empty or not specified."}}', m_leftString=''} 2017-10-10 13:19:22,783 TRACE [org.xdi.oxd.client.TransportClient] Response: ReadResult{m_command='{"status":"error","data":{"error":"bad_request","error_description":"'state' is empty or not specified."}}', m_leftString=''} Exception in thread "main" java.lang.NullPointerException at org.xdi.oxd.client.manual.forDelete.main(forDelete.java:39) 2017-10-10 13:19:22,800 ERROR [org.xdi.oxd.common.CommandResponse] Unrecognized field "error" (Class org.xdi.oxd.common.response.GetTokensByCodeResponse), not marked as ignorable at [Source: java.io.StringReader@ea1a8d5; line: 1, column: 11] (through reference chain: org.xdi.oxd.common.response.GetTokensByCodeResponse["error"]) org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "error" (Class org.xdi.oxd.common.response.GetTokensByCodeResponse), not marked as ignorable at [Source: java.io.StringReader@ea1a8d5; line: 1, column: 11] (through reference chain: org.xdi.oxd.common.response.GetTokensByCodeResponse["error"]) at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53) at org.codehaus.jackson.map.deser.StdDeserializationContext.unknownFieldException(StdDeserializationContext.java:267) at org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnknownProperty(StdDeserializer.java:673) at org.codehaus.jackson.map.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:659) at org.codehaus.jackson.map.deser.BeanDeserializer.handleUnknownProperty(BeanDeserializer.java:1365) at org.codehaus.jackson.map.deser.BeanDeserializer._handleUnknown(BeanDeserializer.java:725) at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:703) at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580) at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732) at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863) at org.xdi.oxd.common.CommandResponse.dataAsResponse(CommandResponse.java:71) at org.xdi.oxd.client.manual.forDelete.main(forDelete.java:38) 2017-10-10 13:19:22,803 ERROR [org.xdi.oxd.common.CommandResponse] Unable to parse string to response, string: {"error":"bad_request","error_description":"'state' is empty or not specified."} Process finished with exit code 1 ```

By Jajati Badu Account Admin 10 Oct 2017 at 8:32 a.m. CDT

Jajati Badu gravatar
Hi Ram, From the log you have posted, I can see you are using localhost as client application url. If you have followed https://gluu.org/docs/oxd/libraries/java/ You can find the client host name should be a valid host name not localhost or any ip address From ([Configure the Client Application](https://gluu.org/docs/oxd/libraries/java/#configure-the-client-application)) > The client host name should be a valid hostname(FQDN), not localhost or an IP Address. You can configure the host name by adding the following entry in your host file. Kind Regards, Jajati

By Michael Schwartz Account Admin 10 Oct 2017 at 2:35 p.m. CDT

Michael Schwartz gravatar
I agree with Jajati. `localhost` can only be used for public clients. See [OpenID Core 3.2.2.1. Authentication Request](http://openid.net/specs/openid-connect-core-1_0.html#ImplicitAuthRequest) and the definition of `application_type` in [OpenID Client Metadata](http://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata)