请帮助我,或者只是给我一个提示,我应该从哪里开始,因为我已经为此奋斗了 2 周。
众所周知,facebook 有一个新的身份验证系统,这意味着我必须在我的网站上实现它,但我只是不明白它是如何工作的以及如何在我的网站上实现它。当然,我知道 Internet 和开发者页面上有示例 - 我已全部阅读,但仍然不知道如何将我网站上的帐户与 FB 帐户关联起来。也许我会提出一些我需要涵盖的情况:
该网站有本地帐户。还有一个额外的数据库表,可以将我的用户 ID 与 FB 用户 ID 链接起来。
情况 1: 一个新人来到我的网站。他/她没有我网站的帐户,但有 FB 帐户。他/她点击“使用 Facebook 登录”,被重定向到 FB,授权该应用程序并被重定向回我的网站,这将创建一个新的用户帐户并将我网站的 uid 与授权的 FB uid 关联起来。
情况 2:一个人在我的网站上有一个帐户,并且已经连接到某个 FB 帐户。他/她点击“使用 facebook 登录”,我的网站在“链接”表中找到 FB uid 并登录连接到该 FB 帐户的用户。
情况 3:某人在我的网站上拥有一个帐户,但该帐户未关联任何 FB 帐户。他/她转到我网站上的一个特殊面板,其中包含一个链接“将此帐户与 Facebook 连接”。他/她点击它,授权该应用程序,被重定向回我的网站,该网站在“链接”表中创建一条记录,将网站的 uid 与 facebook uid 连接起来。建立连接后,特殊面板会显示信息“您已连接到
情况 4: 某人登录到我的网站时使用的帐户与 Facebook 帐户相关联。他/她在我的网站上执行了一些操作,导致在他/她的 FB 墙上发布消息。
所以 TL;DR,在 FB 帐户和我网站上的帐户之间进行绑定(bind)的正常功能。
使用以前的 API 一切都很好并且可以正常工作,我还可以使用 offline_access 来在墙上发帖,没有 token 等等,你知道的。
现在..我不知道从哪里开始,我应该在哪里以及如何存储这些 token ,如何获取它们以及在什么场合,如何链接现有账户,如何“更新”现有的“边界”我的“链接”表。
只是简单的伪代码提示或 1..2..3.. 步骤的列表,这个流程应该是什么样子,这对大家来说真的很有帮助,因为我在 Internet 上找不到任何帮助信息。这个新 API 的每个“示例”或“教程”都讲述了如何在您的网站上验证 FB 帐户,而不是如何真正将这些帐户连接到某些东西或将此连接存储在数据库中。
我使用最新的 PHP Facebook SDK。
最佳答案
查看以下oAuth身份验证指南
https://developers.facebook.com/docs/authentication/server-side/
实现后你可以获得access_token,
现在您可以使用该 access_token 将用户保存在您的数据库中。
关于php - 将 FB 帐户与我网站上的帐户相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10197052/
我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以
我的问题的一个例子是体育游戏。一场体育比赛有两支球队,一支主队和一支客队。我的事件记录模型如下:classTeam"Team"has_one:away_team,:class_name=>"Team"end我希望能够通过游戏访问一个团队,例如:Game.find(1).home_team但我收到一个单元化常量错误:Game::team。谁能告诉我我做错了什么?谢谢, 最佳答案 如果Gamehas_one:team那么Rails假设您的teams表有一个game_id列。不过,您想要的是games表有一个team_id列,在这种情况下
我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/
目前,Itembelongs_toCompany和has_manyItemVariants。我正在尝试使用嵌套的fields_for通过Item表单添加ItemVariant字段,但是使用:item_variants不显示该表单。只有当我使用单数时才会显示。我检查了我的关联,它们似乎是正确的,这可能与嵌套在公司下的项目有关,还是我遗漏了其他东西?提前致谢。注意:下面的代码片段中省略了不相关的代码。编辑:不知道这是否相关,但我正在使用CanCan进行身份验证。routes.rbresources:companiesdoresources:itemsenditem.rbclassItemi
我认为我的问题最好用一个例子来描述。假设我有一个名为“Thing”的简单模型,它有一些简单数据类型的属性。像...Thing-foo:string-goo:string-bar:int这并不难。数据库表将包含具有这三个属性的三列,我可以使用@thing.foo或@thing.bar之类的东西访问它们。但我要解决的问题是当“foo”或“goo”不再包含在简单数据类型中时会发生什么?假设foo和goo代表相同类型的对象。也就是说,它们都是“Whazit”的实例,只是数据不同。所以现在事情可能看起来像这样......Thing-bar:int但是现在有一个新的模型叫做“Whazit”,看起来
我想获取主题名称与搜索关键字匹配的所有配置文件。现在我正在加载所有配置文件。我需要知道如何实现它。非常感谢任何帮助。配置文件.rbhas_many:categorizationshas_many:subjects,through::categorizations主题.rbhas_many:categorizationshas_many:profiles,through::categorizations分类.rbbelongs_to:profilebelongs_to:subjectviews/search/index.html.erb#searchform'get'do%>nil%>#
我有一个非常简单的Controller来管理我的Rails应用程序中的静态页面:classPagesController我怎样才能让View模板返回它自己的名字,这样我就可以做这样的事情:#pricing.html.erb#-->"Pricing"感谢您的帮助。 最佳答案 4.3RoutingParametersTheparamshashwillalwayscontainthe:controllerand:actionkeys,butyoushouldusethemethodscontroller_nameandaction_nam
我使用的是遗留数据库,所以我无法控制数据模型。他们使用了很多多态链接/连接表,就像这样createtableperson(per_ident,name,...)createtableperson_links(per_ident,obj_name,obj_r_ident)createtablereport(rep_ident,name,...)其中obj_name是表名,obj_r_ident是标识符。因此链接的报告将按如下方式插入:insertintoperson(1,...)insertintoreport(1,...)insertintoreport(2,...)insertint
我遇到了RVM的问题,所以我卸载并重新安装了它。事实是我实际上尝试过rbenv,但这对我来说没有用,所以我试图让rvm重新启动并运行-而不必安装重复版本的Ruby。我至少安装了1个现有版本的Ruby:ruby--versionruby1.8.7(2011-12-28patchlevel357)[universal-darwin11.0]但是当我执行rvmlist时,我得到一个空白列表:bash-3.2$rvmlistrvmrubies#Defaultrubynotset.Try'rvmaliascreatedefault'.#=>-current#=*-current&&default
我正在使用Rails3.2.6和Stipe进行支付。是否有可能在不购买ssl证书的情况下进行付款。我可以使用Stripe页面作为我的支付页面吗? 最佳答案 您可以使用stripe.js在技术上跳过SSL但我强烈建议您设置SSL。它所做的是将信用卡信息直接传递给stripe,然后stripe会给你一个token,用于实际进行收费。这样做意味着信用卡信息永远不会接触您的服务器,您不必担心PCI合规性。但是,您仍应设置SSL以防止中间人攻击。您可以在https://stripe.com/docs/tutorials/forms找到有关如何