首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在FOSFacebookBundle中使用Facebook服务器端流程

如何在FOSFacebookBundle中使用Facebook服务器端流程
EN

Stack Overflow用户
提问于 2012-09-24 11:47:41
回答 1查看 616关注 0票数 1

FOSFacebookBundle的默认实现是使用客户端流。我试过了,它起作用了。现在我需要实现服务器端流程。然后我这样做:

单击超链接后,将转到操作如下所示的路由:

代码语言:javascript
复制
$client_id = $this->container->getParameter('fos_facebook.app_id');
$redirect_uri = urlencode($this->generateUrl('_security_check', array(), true));
$scope = implode(',', $this->container->getParameter('fos_facebook.permissions'));
$state = md5(uniqid(rand(), TRUE)); //CSRF protection
$this->getRequest()->getSession()->set('facebook_state', $state);

$oauthUrl = 'https://www.facebook.com/dialog/oauth?client_id='.$client_id.'&redirect_uri='.$redirect_uri.'&scope='.$scope.'&state='.$state;
return $this->redirect($oauthUrl);

当用户单击allow时,它被重定向到Facebook,然后被重定向回我的应用程序,其中的操作与处理客户端操作的操作相同

并返回错误:必须使用活动访问令牌来查询有关当前用户的信息

这个错误是由下面这行引起的:

代码语言:javascript
复制
$me = $this->fbapi->api('/me');

使用facebook服务器端流程的正确实现是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-24 15:45:32

它被重定向到Facebook,当用户单击allow,然后重定向回我的应用程序,其中的操作与处理客户端操作的操作相同

这是服务器端Auth流的前三个步骤。

现在,您还必须执行的第四步https://developers.facebook.com/docs/authentication/server-side/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12558593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档