Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook连接还是OpenID?来自开发商';s视角_Openid_Facebook - Fatal编程技术网

Facebook连接还是OpenID?来自开发商';s视角

Facebook连接还是OpenID?来自开发商';s视角,openid,facebook,Openid,Facebook,我最近与一个应用程序签约,该应用程序要求Facebook Connect作为其身份验证机制之一 在我的Facebook Connect解决方案中,我意识到它实现了一个单点登录身份验证方案,如果你登录到一个网站,你就可以登录到所有网站。就我个人而言,我不喜欢这种方法,并且发现在尝试将所有身份验证系统通过一个您(开发人员)可以控制的单一过程时,很难(并非不可能)使用这种方法。我还认为它只是为了稍微改善用户体验而引入了不必要的功能 在研究与该技术合作的策略时,我注意到博客圈几乎将Facebook Co

我最近与一个应用程序签约,该应用程序要求Facebook Connect作为其身份验证机制之一

在我的Facebook Connect解决方案中,我意识到它实现了一个单点登录身份验证方案,如果你登录到一个网站,你就可以登录到所有网站。就我个人而言,我不喜欢这种方法,并且发现在尝试将所有身份验证系统通过一个您(开发人员)可以控制的单一过程时,很难(并非不可能)使用这种方法。我还认为它只是为了稍微改善用户体验而引入了不必要的功能

在研究与该技术合作的策略时,我注意到博客圈几乎将Facebook Connect视为认证的圣杯,呼应彼此的观点,高声叫嚣“OpenID太复杂了”。与此同时,我还没有看到很多著名的开发人员和安全专家在这件事上升起旗帜或发表意见。我对OpenID的唯一体验是StackOverflow和相关站点。起初我也很难理解它是什么,但当我意识到我可以用我的谷歌证书登录时,我的体验被证明是非常顺利的

我是偏执狂还是错过了每个人都有的东西?Facebook Connect真的是OpenID更好的替代品,还是每个人都在喝别人的Kool-Aid


编辑:

在完成这项工作后,我确认facebook connect登录方案并不理想。整个iframe/js/cookie/reload很难看,很容易出现问题。将fb登录集成到现有的身份验证系统本身就是一个练习。你必须做出一些妥协。我得写一整篇其他的文章来解释我是怎么做到的

Facebook似乎对我的单点登录有点着迷。大多数人都不知道facebook已经为他们自己的站点启用了OpenID,但即使是他们实现它的方式也是模仿SSO,这让它有点毫无意义。我认为OpenID应该是这样工作的:你去一个新的网站,如果你有一个OpenID帐户,输入url,登录到你的提供商,你就进入了。然后,您可以继续填写其他信息

Fb不会提前为您提供OpenID登录。相反,您首先必须注册并登录,然后进入“帐户设置”并在“链接帐户”下选择OpenID提供程序。然而,与StackOverflow不同的是,facebook只允许您使用OpenID登录,前提是您指示提供商记住该设置。为什么?它使它更像SSO。如果不勾选要求记住的谷歌框,OpenID在facebook上不起作用

撇开登录不谈,facebook connect一般都能正常工作,但仍有很多地方需要改进。有几件事让我对那个api不屑一顾:

  • facebook文档分散,没有适当简化。在打开它的第一个小时内,您将在浏览器中打开至少10个选项卡。如果/当你偶然发现你认为未来可能有用的有趣主题时,请确保正确地将它们添加到书签中,不要依靠导航再次找到它们,因为有时关键的文章会被隐藏得很深。我知道维基的api文档化方法最近让很多项目变得懒惰,但常见的是facebook。他们应该有办法聘请一个团队提供适当的用户指南。所以,在开始之前,记得为自己准备一个漂亮的facebook书签文件夹
  • api中有很多方法,祝你好运找到一个如何使用它们的例子,你必须依靠直觉
  • 很多时候,当某件事情不能如你所愿工作时,没有人知道原因。访问论坛页面时,会以假设和谣言的形式给出解释。e、 g.在登录时,为什么有些应用程序有弹出式登录窗口,而其他应用程序有js模式对话框?有可能控制这种行为吗?没有人敢肯定。据传facebook正在进行一些测试,但没有让任何人知道
  • 并不是每件事都像广告宣传的那样有效。i、 e.你可能会发现自己被鼓励使用某个功能,浪费宝贵的时间学习、实现、调试它,然后当你把它放在try/catch异常处理程序中时,才发现它与facebook connect不兼容。e、 g
  • facebook努力做到用户友好。他们浪费宝贵的资源来推动一个只能工作一半时间的automagic api(xfbml),而不是鼓励开发人员通过使用大多数时间都能工作的更基本的东西(伪sql+html)来利用他们辛苦获得的知识。e、 我浪费时间试图使用ajax/xfbml/js的组合从他们的服务器中提取朋友的图片。它可以处理几个请求,然后完全停止工作。然后我决定使用他们的facebook查询语言(fql)直接从数据库中提取数据,并用html创建自己的标记。工作100%。我给你的建议是,如果你是一个真正的开发者,不要相信facebook试图满足所有人的“一切都很简单”的口号,事实并非如此。除了熟悉您的编程平台的facebook客户端api(PHP、Python、Java等),还可以投资学习您可以直接使用从他们的服务器获取什么,以及您可以在浏览器上使用什么(不要与fbjs混淆)。你可能会发现后两个是你做大多数事情所需要的

我相信列表不会到此为止,但从我的脑海中可以看到。单点登录计划现在在主要应用程序中相当普遍。如果你登录Gmail,你就登录了谷歌的所有产品。我认为这在某种程度上是有意义的,特别是如果应用程序是相互连接的,是一项主要的服务,并且提供商有最好的安全人员在工作