我在看这里推荐的oauth实现:
https://dev.twitter.com/docs/auth/oauth
和路标的oauth库:
http://code.google.com/p/oauth-signpost/
他们都谈到在oauth流程中使用客户端密钥,这意味着对于我的客户端应用程序,我需要将秘密存储在应用程序本身中。这可能有风险,因为有人可以从我的应用程序中获取秘密。在我的应用程序中存储秘密有什么方法吗?我误解了oauth流吗?
由于
答案 0 :(得分:3)
没有办法将客户端凭据存储在本机或JavaScript应用程序中,而不会使它们实际公开。此外,将这些凭据放在代理服务器上并让客户端与服务器通信(以便不暴露凭证)也不能解决任何问题。现在您遇到了向客户端验证客户端的问题。
正确的解决方案是对OAuth服务提供的本机应用程序提供特殊支持。 OAuth 2.0使用预先注册的重定向URI和其他技术来为这些客户端完成合理的客户端身份验证。