Spring security 如何将Spring Security OAuth 2.0客户端存储配置到数据库

Spring security 如何将Spring Security OAuth 2.0客户端存储配置到数据库,spring-security,oauth-2.0,spring-security-oauth2,Spring Security,Oauth 2.0,Spring Security Oauth2,我在网上找到了关于SpringREST服务OAuth的教程 但我想知道如何配置存储在数据库中的客户端,以便轻松管理。 在教程中,客户机配置存储在类OAuth2ServerConfiguration.java的内存中 @覆盖 公共无效配置(客户端详细信息服务配置器客户端) 抛出异常{ //@formatter:off clients.inMemory().withClient(“clientapp”) .authorizedGrantTypes(“密码”、“刷新令牌”) .权限(“用户”).范围(

我在网上找到了关于SpringREST服务OAuth的教程

但我想知道如何配置存储在数据库中的客户端,以便轻松管理。 在教程中,客户机配置存储在类OAuth2ServerConfiguration.java的内存中

@覆盖
公共无效配置(客户端详细信息服务配置器客户端)
抛出异常{
//@formatter:off
clients.inMemory().withClient(“clientapp”)
.authorizedGrantTypes(“密码”、“刷新令牌”)
.权限(“用户”).范围(“读”、“写”)
.resourceIds(RESOURCE_ID).secret(“123456”);
//@formatter:on
}

我相信这就是您要寻找的答案:

这是用于JDBC的Spring oAuth Impl类


谢谢你的回答,非常感谢

我无意中通过这条线索找到了答案:

为此,我只需要两个步骤:

  • 创建表示clientdetails的表
  • 创建表oauth\u客户端\u详细信息(
    客户端id VARCHAR(256)主键,
    资源ID VARCHAR(256),
    客户_secret VARCHAR(256),
    范围VARCHAR(256),
    授权授权类型VARCHAR(256),
    web服务器重定向uri VARCHAR(256),
    瓦查尔(256),
    访问\u令牌\u有效性整数,
    刷新\u令牌\u有效性整数,
    附加信息VARCHAR(4096),
    自动批准VARCHAR(256)
    );
    
  • 定义的JDBC配置
  • DataSource DataSource=DataSourceBuilder.create()
    .driverClassName(“com.mysql.jdbc.Driver”)
    .url(“jdbc:mysql://localhost:3306/gsrestdb“”。用户名(“***”)。密码(“***”).build();
    jdbc(数据源);
    
    我认为您需要创建此处列出的所有表,但ClientDetails除外table@soulmachine:是的,你是对的,我需要创建表架构,谢谢你的链接。@prptn
    DataSourceBuilder.create()
    code去哪里?在哪个类和方法中?您如何告诉OAuth使用数据库?@prptn如果您希望在数据库中存储令牌,您只需要额外的表,否则您不需要创建其他表。我不确定链接到源代码是否是回答如何实现某个问题的最有帮助的方法。