为什么我们将客户端机密作为纯文本存储在Spring OAuth 2.0的数据库中?

时间:2016-02-29 04:42:03

标签: java spring spring-mvc spring-security oauth-2.0

我是Spring OAuth 2.0的新手。我们想为资源服务器使用“客户端凭据”授权类型。实现此类型时,我们不确定将“客户端ID”和“客户端密钥”维护为数据库中的纯文本。有人会破解这些客户端ID和客户端密码,如果我们将客户端密钥存储为纯文本,可能会错过使用这些密码。

任何人都可以告诉我们是否有办法以加密格式保存这些值“客户端ID”和“客户端密钥”?

Spring OAuth 2.0中是否有可用于编码和解码的默认选项?

请告诉我们有没有具体的理由将客户机密保存为纯文本?

谢谢,

1 个答案:

答案 0 :(得分:2)

您不得将客户端密钥保存为纯文本。 客户端密钥不得解密。 只需使用org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder,它将使用BCrypt算法加密客户端密钥。