Yii2 AuthClient 为 Facebook 客户端设置 return 页面
Yii2 AuthClient set return page for Facebook client
我有一个 lead gen 表格,它只获取可以使用 Facebook 填写的用户信息(如姓名、性别、电子邮件)。但问题是,选择用 FB 重定向到索引页面来填写表单。如何将 return 页面设置为其他视图或操作?
public function onAuthSuccess($cliente)
{
// TODO: fb login e retornar dados do perfil para o form
$fb = new Facebook([
'app_id' => MYAPPID,
'app_secret' => MYAPPSECRET
]);
try {
$token = $cliente->getAccessToken()->getToken();
// Returns a `Facebook\FacebookResponse` object
$usuario = $fb->get('/me?fields=email,name,gender,age_range',
$token)->getDecodedBody();
} catch(Exception $e) {
echo 'Error: ' . $e->getMessage();
exit;
}
return ; // actually doesn't matter, it always end redirecting to site/index
}
授权配置:
'auth' => ['class' => yii\authclient\AuthAction::className(),'successCallback' => [$this, 'onAuthSuccess']]
在 Auth 操作配置中添加 successUrl
'successUrl'=>'url'
它是一个 public 属性 您也可以在您的函数中覆盖它的值
$this->action->successUrl = "url-with-data";
注意:这仅用于理解目的,生成动态 url 的最佳方法是使用 urlmanager
我有一个 lead gen 表格,它只获取可以使用 Facebook 填写的用户信息(如姓名、性别、电子邮件)。但问题是,选择用 FB 重定向到索引页面来填写表单。如何将 return 页面设置为其他视图或操作?
public function onAuthSuccess($cliente)
{
// TODO: fb login e retornar dados do perfil para o form
$fb = new Facebook([
'app_id' => MYAPPID,
'app_secret' => MYAPPSECRET
]);
try {
$token = $cliente->getAccessToken()->getToken();
// Returns a `Facebook\FacebookResponse` object
$usuario = $fb->get('/me?fields=email,name,gender,age_range',
$token)->getDecodedBody();
} catch(Exception $e) {
echo 'Error: ' . $e->getMessage();
exit;
}
return ; // actually doesn't matter, it always end redirecting to site/index
}
授权配置:
'auth' => ['class' => yii\authclient\AuthAction::className(),'successCallback' => [$this, 'onAuthSuccess']]
在 Auth 操作配置中添加 successUrl
'successUrl'=>'url'
它是一个 public 属性 您也可以在您的函数中覆盖它的值
$this->action->successUrl = "url-with-data";
注意:这仅用于理解目的,生成动态 url 的最佳方法是使用 urlmanager