(从https://groups.google.com/forum/?hl=en&fromgroups=#!topic/hybridauth/CWo2R9suYts转发)
从 Facebook 开始,我正在尝试使用提供商 Javascript SDK 登录并让 HybridAuth “了解”它。任何帮助,将不胜感激。
我首先在传递给视图的数据中包含配置 ID,以便在调用 Javascript 登录函数时使用它们。所以在Hybrid_Auth类的GetProviders函数中间,我加了:
if(array_key_exists('keys', $params) && array_key_exists('id', $params['keys']))
$idps[$idpid]['id'] = $params['keys']['id'];
我的 Javascript 包括这样的内容:
FB.init({
appId:'<?php echo $providers['Facebook']['id']; ?>',
cookie:true,
status : true,
xfbml:true
});
到目前为止,一切都很好。
但是在登录后(即 FB.login())当然 HybridAuth 不知道也没有用户信息。
然后为了“强制”它,我尝试通过 Ajax 调用“.../hauth/login/Facebook”方法:
$.ajax({
type: "POST",
url: ".../hauth/login/Facebook",
cache: false,
...
不幸的是,HybridAuth 中的许多“重定向”似乎使这不起作用。我什至在 Ajax 调用中添加了“data: {ajax:true}”,并尝试修改 HyrbidAuth 以在 $_POST['ajax'] 存在时不重定向。那似乎也没有做到。(我什至删除了 redirect() 函数末尾的“die();”,但无济于事。)
我想我要么走在正确的轨道上,要么我需要添加一个新的 HybridAuth 方法来检测和存储已经存在的所有或特定连接的数据。
有任何想法吗?
谢谢。