两个facebook按钮在同一页面上有不同的回调

时间:2016-03-04 21:20:25

标签: php facebook-php-sdk facebook-login

在我网站的登录页面中,有一个带有两个标签的表单:一个用于登录,一个用于注册。

有一个注册Facebook的按钮,回调指向/complete-profile,允许用户在注册前输入他的详细信息。

这也是一个用facebook登录的按钮,回调指向/login,我在那里用相应的Facebook ID获取用户(如果存在)。

由于两个表单都在同一页面中,我必须使用getLoginUrl()两次,因为这两个按钮有不同的回调。

$permissions = ['email', 'public_profile'];
$loginUrl = $helper->getLoginUrl('http://localhost/website/login', $permissions);
$registerUrl = $helper->getLoginUrl('http://localhost/website/complete-profile', $permissions);

使用注册按钮工作,因为它的URL是最后创建的,但是登录按钮不起作用。这是我收到的消息:跨站点请求伪造验证失败。 "州" URL和会话中的参数不匹配。

我做了一些阅读,似乎我得到了错误,因为当我调用getUrl时,第一个loginUrl的CSRF令牌被第二个loginUrl覆盖。

有没有办法在同一页面上生成两个具有不同回调的Facebook登录按钮?或者我必须使用两个不同的页面进行登录和注册,这真的不方便。

0 个答案:

没有答案