2011-01-26 45 views
2

要在我的桌面应用程序中执行用户身份验证和应用程序授权,请按照http://developers.facebook.com/docs/authentication/页面上的说明进行操作。Facebook客户端流身份验证是否安全?

这是我在我的应用程序做:

  1. 创建带有嵌入式Web浏览器导航to`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 =令牌URL。

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

问题1:这是否意味着任何人发现我的应用程序ID和访问令牌可能会滥用这些信息?

我的意思是,考虑到我的应用程序是基于.NET的(反射者?),所以获取应用程序ID很简单。即使我加密它或获得令牌也不是不可能的。

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

回答

0

是的,我会想象这可能是一个安全问题;不是与你的应用程序,而是与Facebook本身。即使你要加密你的密钥,也需要有一种方法来让应用程序解密密钥(例如,密钥必须存储在应用程序的某个地方)。另一个问题是,假设加密是完美且牢不可破的,有人仍然可以:
a)在传输过程中从RAM中提取访问令牌
b)可能使用SSL拦截器程序创建虚假证书并解密访问令牌。然而;有人真的这样做的可能性是什么?他们为什么想要这样做?

+0

>然而;有人真的这样做的可能性是什么?他们为什么想要这样做? 让我这样说,如果你是我的应用程序的用户并授权它访问大量信息,如果某人仅仅使用被盗的应用程序ID和访问令牌访问所有FB信息并销售,你会如何?它。 – gplusplus 2011-01-26 02:28:31