对浏览器扩展使用facebook身份验证

对浏览器扩展使用facebook身份验证,facebook,oauth,facebook-javascript-sdk,authentication,browser-extension,Facebook,Oauth,Facebook Javascript Sdk,Authentication,Browser Extension,我想知道实现Facebook connect浏览器扩展的最佳方式是什么。 我心目中的两个选择是: 在扩展上下文中直接实现Oauth协议 (http://developer.chrome.com/extensions/tut_oauth.html) 在网站中实现它,然后以某种方式将访问令牌传递给 进行API调用的扩展 您认为每种方法的优缺点是什么? 同时,我也希望得到一些使用Facebook进行身份验证的浏览器扩展的例子(显然,不太多的浏览器扩展很容易找到…) 谢谢老实说,在不知道扩展实际会做

我想知道实现Facebook connect浏览器扩展的最佳方式是什么。
我心目中的两个选择是:

  • 在扩展上下文中直接实现Oauth协议 (http://developer.chrome.com/extensions/tut_oauth.html)
  • 在网站中实现它,然后以某种方式将访问令牌传递给 进行API调用的扩展
您认为每种方法的优缺点是什么?
同时,我也希望得到一些使用Facebook进行身份验证的浏览器扩展的例子(显然,不太多的浏览器扩展很容易找到…)


谢谢

老实说,在不知道扩展实际会做什么的情况下权衡利弊是有点困难的,因为身份验证的实现只是难题的一部分(非常小的一部分)。不管怎样,我还是要赌一把,并假设大多数时候你的扩展不会处理用户数据,除非他们打开浏览器窗口

1。客户端身份验证(您的第一个选项)

专业人士

  • 更易于开发和维护,因为您将所有应用程序逻辑都放在一个地方,并用一种语言(JavaScript)编写
缺点

  • 访问令牌存储在用户浏览器中,因此您无法执行自主服务器端操作(除非您将该令牌传递给您的服务)
2。服务器端身份验证(您的第二个选项)

根据我上面的回答,这个问题的利弊是显而易见的。一般来说,您唯一需要使用服务器端身份验证的时间是,如果您的大多数应用程序逻辑已经在服务器上,因此(通常)在服务器上也有这个方面是有意义的

注意:无论您选择哪个选项,最终都需要 向用户显示身份验证弹出窗口,用户将在其中 使用应用程序选择接受或拒绝


该扩展不需要在facebook上代表用户做太多事情——不管它需要获取一些数据来初始化每个用户,我主要担心的是,在客户端实现它时,如果不更新扩展,我将更难推动更改,我想我需要使用服务器端的东西,然后就可以在扩展中获取访问令牌(将它放在DOM或其他东西中的某个地方)听起来服务器端有相当多的应用程序逻辑。请记住,推送更新到谷歌浏览器扩展是非常容易的。