a59913bb38
RevokedTokenInfo serialized its derived isExpired() as "expired", which the persistent store's ObjectMapper then refused to read back. On restart the file was moved aside as .corrupt and every revocation was forgotten, so refresh tokens revoked by sign-out worked again. The derived field is no longer written, and files that carry it are read with it ignored.