【发布时间】:2017-04-19 10:36:03
【问题描述】:
我正在开发我的 Web 应用程序,该应用程序支持使用第三方服务进行 oAuth2 身份验证。所以我有我的clientId 和clientSecret 密钥,我用它们来授权我的应用程序。
我正在使用 Spring security oAuth 依赖项并在 props 中配置所有这些。所以这就是问题所在:据我所知,将这些信息保存在类路径道具中是不安全的。另一方面,我正在寻找一种解决方案,它允许我的应用程序在没有任何第三方道具/配置的情况下从盒子中启动并运行(所以我不喜欢将这些道具放在环境方面的想法)
我想知道是否有保留clientId 和clientSecret 键的最佳做法?
【问题讨论】:
-
使用application.properties文件,这是最好的地方
-
恕我直言,我认为如果您使用基于 java 的配置,最好使用属性文件配置,看看这里oauth2 example - java config
-
我关心的是安全性。将这些仅存储在 java config 或 application.properties 中会导致这些密钥可能被盗(因为它们不安全)并被另一个应用程序重用,假装它是我的。这就是为什么我在这里寻找一些最佳实践。
标签: java spring spring-security oauth-2.0 spring-security-oauth2