我从示例sparklr2
学习如何使用oauth2,但它使用inMemoryClientDetailsService
。这不是生产的情况,像twitter这样的oauth2 webapp应该让新客户注册。所以最终会使用JdbcClientDetailsService
。但是spring security oauth2
的示例和文档没有提供在代码中进行注册的正确方法。
这是我从项目来源看到的猜测。
JdbcClientDetailsServiceBuilder client = new JdbcClientDetailsServiceBuilder();
client.dataSource(dataSource)
.withClient("my-trusted-client-with-secret")
.authorizedGrantTypes("password", "authorization_code", "refresh_token", "implicit")
.authorities("ROLE_CLIENT", "ROLE_TRUSTED_CLIENT")
.scopes("read", "write", "trust")
.secret("somesecret");
client.build();
它将记录写入数据库oauth_client_details
表,但我想知道我是否正确执行(最佳实践)?有人知道吗?