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

时间:2014-01-11 04:53:17

标签: java spring spring-security-oauth2

我正在使用Spring为我的应用程序创建OAuth2的api,但是规范(http://tools.ietf.org/html/rfc6749)和Spring OAuth2文档中没有任何关于如何生成客户端密钥的内容。

有人有任何想法吗?

1 个答案:

答案 0 :(得分:3)

Spring使用PasswordEncoder来解码/编码客户端机密。请参阅JdbcClientDetailsService(如果您计划在DB中存储客户端详细信息)。

因此,在为Spring OAuth2配置bean时,通常会为 ClientDetailsS​​ervice 提供 PasswordEncoder 的实例。

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

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