Facebook会话代理如何提高安全性?

时间:2010-02-03 00:37:59

标签: iphone security facebook

我正在编写一个使用Facebook Connect的iPhone应用程序。在测试时,您通常会将您的应用程序秘密直接嵌入到代码中并通过此调用设置Facebook:

session = [FBSession sessionForApplication:myApiKey secret:myAppSecret delegate:self];

但是,对于生产代码,建议使用会话代理而不是将您的app secret嵌入代码中:

session = [FBSession sessionForApplication:myApiKey getSessionProxy:myURL delegate:self];

我可以看到如何泄露你的“秘密”可能是一件坏事 - 它允许任何人采取看起来源自你的应用程序的行动 - 但我不知道使用代理如何解决这个问题。攻击者可以简单地将他的代码指向您的会话代理。代理不会对请求来自您的应用进行任何形式的验证。换句话说,你并没有放弃王国的钥匙,但你绝对会向任何要求的人提供日间通行证!

那么增加的安全性在哪里?是否存在应用秘密为您提供代理会话的额外权限?

2 个答案:

答案 0 :(得分:1)

回答我自己的问题,是的,还有与app秘密相关的额外权限。此页面标识了需要应用程序密钥的API方法与可以使用会话密钥的API方法:

http://wiki.developers.facebook.com/index.php/Session_Secret_and_API_Methods

答案 1 :(得分:0)

从我看到的http://wiki.developers.facebook.com/index.php/Session_Proxy

看到的

代理实现由您决定,因此您可以向其添加代码以对客户端进行身份验证等