Ответ 1
Я думаю, что лучшее решение - выбросить токены. Рядом с выражением SpringSecurityCoreVersion.SERIAL_VERSION_UID
есть большой комментарий, который гласит:
/**
* Global Serialization value for Spring Security classes.
*
* N.B. Classes are not intended to be serializable between different versions. See
* SEC-1709 for why we still need a serial version.
*/
Действительно, они сознательно бьют SERIAL_VERSION_UID
(по крайней мере) при каждом незначительном выпуске.
(Комментарии к проблеме для SEC-1709 объясняют, как они пришли к этому решению.)
Из комментариев я понял, что если вы действительно пытались прозрачно обрабатывать обновление версии, это может привести к поломке, что может привести к непредсказуемым последствиям. (Это "код" для возможных проблем безопасности.)
С другой стороны, OAuth2Authentication.serialVersionUID
, похоже, не изменился за последние 9 лет.