Skip to content

Logging in via oauth2 using redis session throws jackson error #19077

@msosa

Description

@msosa

I initially created this issue in spring session, but I now believe it belongs here.

Describe the bug
When I attempt to login via oauth 2 using redis sessions I get this jackson error

org.springframework.data.redis.serializer.SerializationException: Could not read JSON:Could not resolve type id 'java.net.URL' as a subtype of `java.lang.Object`: Configured `PolymorphicTypeValidator` (of type `tools.jackson.databind.jsontype.BasicPolymorphicTypeValidator`) denied resolution
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); byte offset: #1988] (through reference chain: org.springframework.security.core.context.SecurityContextImpl["authentication"]->org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken["principal"]->org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser["authorities"]->java.util.HashSet[0]->org.springframework.security.oauth2.core.oidc.user.OidcUserAuthority["idToken"]->org.springframework.security.oauth2.core.oidc.OidcIdToken["claims"]->java.util.LinkedHashMap["iss"])

the error location of the json in redis appears to be here

          "iss": [
            "java.net.URL",
            "https://accounts.google.com"
          ],

I am using the documentation code for 4.0.1-SNAPSHOT

Sample

Here is a link to the sample. To set it up add your oauth2 details to application.yml, start up spring boot and attempt to login

This comment fixes the issue, so I believe the Url.class needs to be added to OAuth2ClientJacksonModule

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions