【发布时间】:2014-12-27 22:54:57
【问题描述】:
我正在尝试使用 Apache CXF(版本 2.7.12)实施 OAuth 2.0 的客户端凭据流以保护 RESTful 服务。
我唯一的客户(目前)将被信任对密钥和秘密保密 - 我知道这方面的注意事项。
我的问题是我应该如何将客户端密码存储在授权服务器上。在我看来,“客户端密码”实际上是一个密码,因此应该加盐和散列。但是,CXF 的 AccessTokenService 会比较存储的秘密和请求中传入的值,它只进行 String.equals() 比较,并且似乎没有给我任何可以提供不同机制的钩子。
这意味着我需要以纯文本形式存储客户端密码,以便将其与请求中的纯文本值进行比较,而无需稍加修改。
我是否遗漏了一些明显的功能,可以让我在比较之前对传入的值进行散列,还是我对客户端机密过于谨慎?也许我把它当作密码是错误的?
【问题讨论】: