我正在开发一个供内部使用的 Web 应用程序,该应用程序由对另一个远程服务器的许多 Web 服务请求驱动。内部站点维护自己的会话,通过用户名/密码凭据进行身份验证,这些凭据本身由 Web 服务支持(即我们进行远程身份验证调用以验证对内部站点的登录)。Web 服务请求还需要使用这些相同的凭据进行身份验证。
我们希望这些 Web 服务请求可以保持无状态,这意味着在每个身份验证请求中都传递凭据。问题是以安全的方式记住要使用的凭据(在初始登录期间输入的凭据)。我不知道有任何真正安全的方法来存储密码以供以后重复使用 - 散列它会牺牲我们再次使用它的能力。我们能做的最好的事情就是在会话范围内对其进行编码,并希望没有恶意开发人员会尝试在线程转储或其他东西中捕获它。
我缺少更好的解决方案吗?我是否对将编码密码存储在内存中的风险过于偏执,或者我们对这个项目的方法是否存在缺陷?