I have upgraded to 1.0.4.Final but still have the issue.
I would consider this as a bug in Keycloak -well in the client at least- as
am using Wildfly and i am embedding the Jackson dependencies with my war
anyway. These dependencies are pulled by the Keycloak ones.
@Keycloak team : should i open an issue for this one ?
On Wed, Oct 29, 2014 at 8:16 PM, Kamal Jagadevan <j.kamal(a)ymail.com> wrote:
Hi Alexander,
On a second look, my problem was with my tomcat application that
integrates with Keycloak. This tomcat application was using fasterxml
jackson parser whereas keycloak implementation uses codehaus jackson which
gets overridden during runtime. I was able to overcome this problem by
creating PropertyNamingStrategy and set it to ObjectMapper before
deserializing the JSON.
Alternatively Keycloak implementation can be modified to use fasterxml
jackson databinding.
-Kamal
------------------------------
*From:* Alexander Chriztopher <alexander.chriztopher(a)gmail.com>
*To:* Kamal Jagadevan <j.kamal(a)ymail.com>
*Cc:* "keycloak-user(a)lists.jboss.org" <keycloak-user(a)lists.jboss.org>
*Sent:* Monday, October 27, 2014 12:54 PM
*Subject:* Re: [keycloak-user] Java API documentation
Hi Kamal and thanks.
Am using the keycloak admin client which brings the following Jackson
dependency : jackson-core-asl:1.9.9 and can not override this. I also don't
have the option to change the property mapping as it comes with the
Keycloak distribution am using :-(
On Mon, Oct 27, 2014 at 4:54 PM, Kamal Jagadevan <j.kamal(a)ymail.com>
wrote:
Hi Alexander,
I had faced the same problem few days back it is because of the
mismatch between JSONProperty and POJO variable name(getter method) that
too with fasterxml jackson parser.
If you use codehaus jackson parser you wouldnt get any problem. One work
around to this problem is to update the POJO variable name to reflect the
JSONProperty name.
Similar problem is observed in multiple places where deserialization kicks
in..
Specifically it is because of this
@JsonProperty("*access_token*")
protected String *token*;
Hi Bill,
Do you have any other ideas besides updating POJOs member variable
name matching the JSON property? Please advise.
Thanks
Kamal
------------------------------
*From:* Alexander Chriztopher <alexander.chriztopher(a)gmail.com>
*To:* "keycloak-user(a)lists.jboss.org" <keycloak-user(a)lists.jboss.org>
*Sent:* Monday, October 27, 2014 11:45 AM
*Subject:* [keycloak-user] Java API documentation
Hi All,
Am using Keycloak 1.0.2.Final and am getting this error when using the
rest API :
Caused by:
*com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException*:
Unrecognized field "access_token" (class
org.keycloak.representations.AccessTokenResponse), not marked as ignorable
(7 known properties: "tokenType", "notBeforePolicy",
"token", "expiresIn",
"sessionState", "refreshToken", "idToken"])
at [Source: org.apache.http.conn.EofSensorInputStream@11b8a95d; line: 1,
column: 18] (through reference chain:
org.keycloak.representations.AccessTokenResponse["access_token"])
at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(
*UnrecognizedPropertyException.java:51*)
[jackson-databind-2.3.2.jar:2.3.2]
at
com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(
*DeserializationContext.java:671*) [jackson-databind-2.3.2.jar:2.3.2]
at
com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(
*StdDeserializer.java:771*) [jackson-databind-2.3.2.jar:2.3.2]
at
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(
*BeanDeserializerBase.java:1297*) [jackson-databind-2.3.2.jar:2.3.2]
at
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(
*BeanDeserializerBase.java:1275*) [jackson-databind-2.3.2.jar:2.3.2]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(
*BeanDeserializer.java:247*) [jackson-databind-2.3.2.jar:2.3.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(
*BeanDeserializer.java:118*) [jackson-databind-2.3.2.jar:2.3.2]
at com.fasterxml.jackson.databind.ObjectReader._bind(
*ObjectReader.java:1233*) [jackson-databind-2.3.2.jar:2.3.2]
at com.fasterxml.jackson.databind.ObjectReader.readValue(
*ObjectReader.java:677*) [jackson-databind-2.3.2.jar:2.3.2]
at
org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.readFrom(
*ResteasyJackson2Provider.java:120*)
[resteasy-jackson2-provider-3.0.8.Final.jar:]
at
org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.readFrom(
*AbstractReaderInterceptorContext.java:59*)
[resteasy-jaxrs-3.0.8.Final.jar:]
at
org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(
*AbstractReaderInterceptorContext.java:51*)
[resteasy-jaxrs-3.0.8.Final.jar:]
at
org.jboss.resteasy.security.doseta.DigitalVerificationInterceptor.aroundReadFrom(
*DigitalVerificationInterceptor.java:32*)
[resteasy-crypto-3.0.8.Final.jar:]
at
org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(
*AbstractReaderInterceptorContext.java:53*)
[resteasy-jaxrs-3.0.8.Final.jar:]
at
org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.aroundReadFrom(
*GZIPDecodingInterceptor.java:59*) [resteasy-jaxrs-3.0.8.Final.jar:]
at
org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(
*AbstractReaderInterceptorContext.java:53*)
[resteasy-jaxrs-3.0.8.Final.jar:]
at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(
*ClientResponse.java:248*) [resteasy-client-3.0.8.Final.jar:]
... 164 more
Was wondering where this comes from as am using the 1.0.2.Final admin api
and have updated my Wildfly Server accordingly.
_______________________________________________
keycloak-user mailing list
keycloak-user(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user