我知道那些令牌弹簧会生成一个UUID格式的字符串。我担心的一个问题是它并不是真正的“独特”; UUID可以创建与前一个令牌完全相同的令牌(当然赔率很小但仍然可能)。
我正在使用数据库存储我的用户令牌,我不确定Spring是否在数据库中创建令牌之前检查该令牌是否已存在?
我的第二个问题是:是否可以创建我自己的令牌而不是UUID格式,我想拥有一个更“独特”的令牌,如当前时间戳与用户的ID和用户名,然后哈希所有内容将是我的代币,而不是49784c38-43b1 -....。
我已经有一个自定义TokenEnhancer,用于在将令牌返回给客户端时添加自定义信息但是如何在将其保存到我的数据库之前创建自定义令牌?
谢谢你的帮助!
答案 0 :(得分:1)
您的TokenEnhancer
可以使用其喜欢的任何格式作为令牌值。自定义值将是ToeknStore
中的自定义值(即TokenEnhancer
的用途)。
P.S。如果您认为UUID之间可能存在冲突,我认为您可能需要做一些数学并再考虑一下。