如何使用Spring在OAuth2认证中生成客户端密钥

2022-05-14 00:00:00 spring java spring-security-oauth2

我正在为我的应用程序使用Spring为OAuth2创建API,但规范(https://www.rfc-editor.org/rfc/rfc6749)和Spring OAuth2文档中没有写任何关于如何生成客户端机密的内容。

有人知道吗?


解决方案

Spring使用PasswordEncoder对客户端机密进行解码/编码。请参阅JdbcClientDetailsService(如果您计划将客户端详细信息存储在数据库中)。

因此,在为Spring OAuth2配置Bean时,您通常会为ClientDetailsService提供一个PasswordEncode实例。

典型情况是使用BCryptPasswordEncoder。因此,在将编码的客户端密码放入数据库列之前,您可以编写一个示例程序来生成它:

String password = "testPassword";
PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String encodedPassword = passwordEncoder.encode(password);

相关文章