Facebook客户端流程验证是否安全?

时间:2011-01-26 01:30:17

标签: facebook api authentication

要在我的桌面应用程序中执行用户身份验证和应用程序授权,请按照http://developers.facebook.com/docs/authentication/页面上提供的文档进行操作。

这就是我在我的应用中所做的:

  1. 使用嵌入式Web浏览器创建一个对话框,导航至http://https:// www.facebook.com/dialog/oauth?client_id=<my_app_id>&scope=offline_access&redirect_uri=http://www。 facebook.com/connect/login_success.html&response_type=token URL。

  2. 如果一切顺利(用户登录并授权我的应用),我会从重定向的URL中提取访问令牌,并假设获得的值是长期令牌(请注意offline_access权限)来存储它。

  3. 问题1:这是否意味着任何发现我的app-id和访问令牌的人都可能滥用这些信息?

    我的意思是,考虑到我的应用程序是基于.NET的(Reflector中有人?),app-id很简单。并且即使我加密它或任何不可能的东西,也可以访问令牌。

    问题2:我如何才能使整个过程足够安全?

1 个答案:

答案 0 :(得分:0)

是的,我认为这可能是一个安全问题;不是你的应用程序,而是Facebook本身。即使您要加密密钥,也需要一种方法,通过该方法应用程序解密密钥(例如,密钥必须存储在应用程序的某个位置)。另一个问题,假设加密是完美且不可破坏的,有人仍然可以:a)在运输过程中从RAM中提取访问令牌
b)可能使用SSL拦截程序创建一个伪造的证书,并解密访问令牌。然而;有人真正这样做的可能性是多少?他们为什么要这样做?