- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于我的 REST API,我使用 JWT 进行 OAuth2 授权。目前,我正在扩展 JwtTokenStore
以将刷新 token 存储在内存中,以便我能够撤销它们。
// TODO: This is a temporary in memory solution that needs to be replaced with a concrete persistent implementation.
public class MyJwtTokenStore extends JwtTokenStore {
private List<OAuth2RefreshToken> refreshTokens;
public MyJwtTokenStore(JwtAccessTokenConverter jwtTokenEnhancer) {
super(jwtTokenEnhancer);
refreshTokens = new ArrayList<>();
}
@Override
public OAuth2RefreshToken readRefreshToken(String tokenValue) {
OAuth2RefreshToken refreshToken = super.readRefreshToken(tokenValue);
if (!refreshTokens.contains(refreshToken)) {
throw new InvalidGrantException("Invalid refresh token: " + tokenValue);
}
return refreshToken;
}
@Override
public void storeRefreshToken(OAuth2RefreshToken refreshToken, OAuth2Authentication authentication) {
refreshTokens.add(refreshToken);
}
@Override
public void removeRefreshToken(OAuth2RefreshToken token) {
refreshTokens.remove(token);
}
}
我想开始将这些刷新 token 存储在数据库中而不是内存中。 Spring 为我们提供了 JdbcTokenStore
,但如果我扩展该类,则无法在构造函数中设置 JwtAccessTokenConverter
。我知道我可以只实现我自己的保存/检索 JWT 的方法,但我想利用 https://github.com/spring-projects/spring-security-oauth/blob/master/spring-security-oauth2/src/test/resources/schema.sql 上对模式的开箱即用支持。 JdbcTokenStore
提供。
create table oauth_refresh_token (
token_id VARCHAR(256),
token LONGVARBINARY,
authentication LONGVARBINARY
);
Spring支持在数据源中存储JWT吗?我需要类似“JwtJdbcTokenStore”的东西。执行此操作但仍使用来自 JdbcTokenStore
的预定义查询和操作的好方法是什么?
最佳答案
不,Spring 不支持这个。引用这个线程 https://github.com/spring-projects/spring-security-oauth/issues/687
持久化 JWT token 是无关紧要的,因为 JWT token 是自包含的,您需要知道的一切都已在该 token 中可用。
话虽如此,如果您需要持久化它们,那么您将不得不为其编写自定义逻辑。
关于spring - 将 JdbcTokenStore 用于 JWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47662950/
我在 Spring JdbcTokenStore 上遇到了糟糕的性能,所以我调查了一下,发现以下缓慢的查询: delete from oauth_access_token where token_id
对于我的 REST API,我使用 JWT 进行 OAuth2 授权。目前,我正在扩展 JwtTokenStore 以将刷新 token 存储在内存中,以便我能够撤销它们。 // TODO: This
我正在尝试在此处转换 jdbctoken 存储架构 https://github.com/spring-projects/spring-security-oauth/blob/master/sprin
现在我有这个 oAUth2 token 存储配置 我想将我的 token 存储在数据库中,因此我需要一些其他自定义实现来存储和检索 token 。我检查了
我用过 JDBCTokenStore作为我的 oauth2 身份验证 token 的主要 token 存储。通常,当请求通过 Spring Java 应用程序时,我们可以轻松地将 token 解析为其
所以我已经尝试了一个多星期让 JdbcTokenStore 工作,但我似乎无法弄清楚出了什么问题。 我没有使用 Spring Boot ,我会尽力解释我在做什么。 因此,让我们从 token 的数据库
正如标题中提到的,当同一个客户端同时查询 token 端点时(两个进程同时为同一个客户端请求 token ),我遇到了这个问题。 身份验证服务器日志中的消息如下所示: 2016-12-05 19:08
嘿, 我正在尝试使用 Spring-Boot 在应用程序中实现 OAuth2。我正在努力实现 JdbcTokenStore (我理解正确吗?这是将 token 存储在数据库中?) 我的代码如下所示:
我目前在我的应用程序中通过 Hibernate 使用 Jpa。由于spring security oauth2提供了JdbcTokenStore,我就开始使用了。但问题是,我不能使用缓存(我在应用程序
我是一名优秀的程序员,十分优秀!