Facebook 认证 - 有哪些不同的方法?
我正在用Python和Django开发一个Facebook应用,正在研究如何和Facebook的认证API进行整合。
到目前为止,我找到了两个可行的解决方案:
我已经试过第一个,感觉还不错。我刚刚了解了第二个,似乎是用Facebook的JavaScript SDK。
我的问题是:这两个库的认证方式是不同的吗?我理解得对吗,第一个是直接用OAuth和Facebook沟通,获取认证令牌,而第二个只是显示一些用JavaScript增强的中间页面,这些页面通过浏览器请求认证令牌?
总的来说:进行Facebook认证的方法有不同吗(JavaScript SDK和其他方式)?为什么推荐使用JavaScript SDK?而“其他方式”是否无法生成cookies,从而在某种程度上效率更低呢……
1 个回答
3
当你使用后端技术(比如 Python、PHP、Perl 等)时,通常需要通过 URL 重定向(Graph API)来和 Facebook 以及用户进行互动。个人觉得这样用户体验不太好。
而使用 JavaScript SDK,你可以在页面内直接完成所有操作。这意味着用户不需要离开你的页面就能授权、发布信息、发送请求等等。你仍然可以使用后端库来处理其他事情。如果你需要进行一些“离线”操作或者订阅实时事件,那就必须用到后端。
最后,你得到的授权权限是一样的。无论是使用哪种方式,都是在向 Facebook 发出类似的请求,以获取有效的授权会话。所以无论选择其中一个,还是同时使用两个方法,都是可以的。