【发布时间】:2021-12-26 00:56:05
【问题描述】:
您知道 OAUTH_CLIENT_TOKEN 表在 Spring Oauth2 服务器的 JDBC 实现中的用途是什么吗?
似乎永远不会填充该表,但是当客户端使用“客户端凭据”获取令牌时,其令牌会保存到 OAUTH_ACCESS_TOKEN 中,而不是使用空用户名保存到 OAUTH_CLIENT_TOKEN 中。
这里的表架构实际上非常相似。
drop table if exists oauth_client_token;
create table oauth_client_token
(
token_id VARCHAR(255),
token LONGBLOB,
authentication_id VARCHAR(255),
user_name VARCHAR(255),
client_id VARCHAR(255)
);
drop table if exists oauth_access_token;
create table `oauth_access_token`
(
token_id VARCHAR(255),
token LONGBLOB,
authentication_id VARCHAR(255) PRIMARY KEY,
user_name VARCHAR(255),
client_id VARCHAR(255),
authentication LONGBLOB,
refresh_token VARCHAR(255)
);
同样配置到 AuthorizationServerConfigurerAdapter
@Bean
public JdbcClientTokenServices clientTokenServices() {
return new JdbcClientTokenServices(this.dataSource);
}
@Bean
public TokenStore tokenStore() {
return new JdbcTokenStore(this.dataSource);
}
【问题讨论】:
-
您似乎指的是旧版
spring-security-oauthproject 中的一个表。这个项目是deprecated。请迁移到支持 OAuth 2.0 客户端支持的 Spring Security 版本。您可以按照官方迁移指南here。 -
@EleftheriaStein-Kousathana 谢谢我不知道它已被弃用...我发现另一个关于新授权服务器的主题here
标签: spring-security spring-security-oauth2 spring-jdbc