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

Make DefaultOneTimeToken Serializable #16618

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

franticticktick
Copy link
Contributor

Closes gh-16617

@franticticktick franticticktick changed the base branch from main to 6.4.x February 18, 2025 16:48
@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Feb 18, 2025
@jzheaux
Copy link
Contributor

jzheaux commented Feb 18, 2025

Hi, @franticticktick. Was there something released in 6.4 that is already Serializable that is using these components? If not, then this is a feature enhancement and should be on main. Adding functionality is a feature, while fixing existing incomplete or broken functionality is a bug.

The reason the other components are being updated on 6.4.x is because those components claim to be serializable, but they aren't for one reason or another. So, those need fixing on the earliest maintenance branch possible.

@franticticktick
Copy link
Contributor Author

Hi @jzheaux thanks for the clarification. I came across several cases where developers tried to implement ReactiveOneTimeTokenService based on Redis. This is mainly due to the fact that we cannot yet make ReactiveOneTimeTokenService for a distributed environment. In addition, the ReactiveOneTimeTokenService implementation based on Redis looks convenient. If the OneTimeToken is not serializable, then such an implementation is impossible, although there is already a request for this. So I opened a ticket as a bug. Can I leave this ticket as is, but do a PR in main with backport in 6.4.x?

@franticticktick franticticktick changed the base branch from 6.4.x to main February 20, 2025 12:18
@jzheaux
Copy link
Contributor

jzheaux commented Feb 24, 2025

Good question. While perhaps a little inconvenient, you can create a RedisOneTimeTokenService implementation and store a different object, for example a different implementation of OneTimeToken that is serializable.

I see that you've already moved it to main so perhaps you agree, but please feel free to say more if I'm missing something.

@jzheaux jzheaux added in: web An issue in web modules (web, webmvc) type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged labels Feb 24, 2025
@jzheaux jzheaux added this to the 6.5.x milestone Feb 24, 2025
@jzheaux jzheaux self-assigned this Feb 24, 2025
@jzheaux jzheaux modified the milestones: 6.5.x, 6.5.0-M3 Feb 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: web An issue in web modules (web, webmvc) type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make DefaultOneTimeToken Serializable
3 participants