OAuth - 在您的应用程序中嵌入客户端密钥?

时间:2011-07-18 19:00:24

标签: security oauth twitter-oauth

我在看这里推荐的oauth实现:

https://dev.twitter.com/docs/auth/oauth

和路标的oauth库:

http://code.google.com/p/oauth-signpost/
他们都谈到在oauth流程中使用客户端密钥,这意味着对于我的客户端应用程序,我需要将秘密存储在应用程序本身中。这可能有风险,因为有人可以从我的应用程序中获取秘密。在我的应用程序中存储秘密有什么方法吗?我误解了oauth流吗?

由于

1 个答案:

答案 0 :(得分:3)

没有办法将客户端凭据存储在本机或JavaScript应用程序中,而不会使它们实际公开。此外,将这些凭据放在代理服务器上并让客户端与服务器通信(以便不暴露凭证)也不能解决任何问题。现在您遇到了向客户端验证客户端的问题。

正确的解决方案是对OAuth服务提供的本机应用程序提供特殊支持。 OAuth 2.0使用预先注册的重定向URI和其他技术来为这些客户端完成合理的客户端身份验证。