php – 我可以在facebook app身份验证后将变量传递给回调网址

我使用hybridauth通过Facebook将用户登录到我的php网站.

$hybridauth = new Hybrid_Auth( $config );
$facebook = $hybridauth->authenticate( "Facebook" );

$facebook_user_profile = $facebook->getUserProfile();

($config包含我的应用的ID和密钥)

这一切都运行良好,但我想根据用户登录的页面返回到回调网址时重定向用户,以便我可以在登录后将它们返回到此位置.

有没有办法通过身份验证发送自定义变量(例如url甚至是简单的id),这样我就可以在流程的另一端读取它们,并知道身份验证请求的启动位置.

这可能吗,还是我在错误的树上吠叫?

如果有人知道如何使用混合动力做到这一点,那将是额外的荣誉,但任何让我走上正轨的建议都会受到欢迎.

最佳答案
无论何时使用服务器端或客户端登录,最终登陆都将在FB登录对话框URL上进行.

请参阅FB login architecture中的服务器端登录以了解流程.

登录网址看起来像

https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&
redirect_uri=YOUR_REDIRECT_URI&
state=SOME_ARBITRARY_BUT_UNIQUE_STRING

在这里你可以提到redirect_url param的任何url,登录流程之后Facebook会尝试重定向到指定的URL.您指定的URL必须是与应用程序设置中指定的基本域相同的URL.

此外,如果您需要保留登录后可以使用的任何额外数据,您可以使用状态参数.您为此参数提供的值将在不做任何更改的情况下返回.

我希望如果你搜索HybridAuth代码,你可以找到你需要传递这些细节的地方.

转载注明原文:php – 我可以在facebook app身份验证后将变量传递给回调网址 - 代码日志