2014-01-12 35 views
0

嗨,大家好,这是我第一次尝试在我的项目中处理Oauth。我已阅读link上的教程。我已经尝试过Google和Facebook Oauths,并且对它的简单性感到惊讶。现在我将尝试Twitter/Yahoo/Microsoft仅用于学习目的。 这个问题可能会给我带来负面影响,因为这是一个学习者问题。所以我的问题是当使用Facebook Oauth时,您需要LocalHost机器的SSL Https URL。雅虎/推特/微软如何?哪一个需要SSL。Twitter/Microsoft/Yahoo OAuth需要SSL吗?

+0

如果涉及认证,则应始终在任何地方使用SSL。否则,攻击者可以简单地窃取您的身份验证cookie。 (例如,Firesheep) – SLaks

回答

1

当使用OAuth,你应该使用SSL。事实上,截至今日,Twitter的所有终端都需要SSL。如果你研究协议,你会发现有令牌在授权头中来回传递。你会想要保护这些。您还希望保护来自提供者的响应,其中包含令牌和其他信息。某些应用程序可能不需要SSL(尽管Twitter现在可以),但最好通过设计来保证安全,默认情况下是安全的,并且可以保证部署安全。

1

不 - 您的localhost机器确实是而不是需要运行SSL。

确实,即使您没有使用localhost,也没有义务使用SSL。从理论上讲,如果你的令牌被拦截,风险就很小,因为你的私有令牌永远不会离开你的机器。

所以,OAuth技巧可以

User -> Your Website -> SSL to OAuth provider -> Redirect to localost (non SSL)