【发布时间】:2018-02-03 00:43:43
【问题描述】:
如何在 java spring 中生成访问令牌?
我曾尝试自己创建一个访问令牌,但每次我需要进行数据库操作都需要花费大量时间。有没有简单的方法来生成访问令牌?
【问题讨论】:
-
如果您的意思是 oauth 访问令牌,请查看 projects.spring.io/spring-security-oauth
如何在 java spring 中生成访问令牌?
我曾尝试自己创建一个访问令牌,但每次我需要进行数据库操作都需要花费大量时间。有没有简单的方法来生成访问令牌?
【问题讨论】:
【讨论】:
我假设您的意思是您需要执行数据库操作来验证令牌。
您可以使用 JWT 并在没有数据库查询的情况下对其进行验证。 他们有一个 java 库,你不必实现它。
【讨论】:
如果采用 JWT 作为访问令牌的格式,或许可以避免 DB 操作。但是,最好比较基于 JWT 的访问令牌和基于 DB 的访问令牌的优缺点。特别要注意,没有简单的方法可以撤销基于 JWT 的访问令牌。此外,基于 JWT 的访问令牌一旦发布,就无法更改其属性。
下表摘自“Full-Scratch Implementor of OAuth and OpenID Connect Talks About Findings”中的“7.1.Access Token Representation”列出了基于DB的访问令牌的特征(“随机字符串" 在表中)和基于 JWT 的访问令牌("Self-Contained" 在表中)。
【讨论】: