Yii2 AuthClient设置Facebook客户端的返回页面

时间:2016-05-18 19:52:16

标签: facebook yii2 facebook-php-sdk

我有一个关于潜在客户的表单,它只能获取可以用Facebook填写的用户信息(如姓名,性别,电子邮件)。但问题是,选择用FB重定向填充表单到索引页面。如何将返回页面设置为其他视图或操作?

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']]

1 个答案:

答案 0 :(得分:1)

在Auth action config

中添加successUrl
'successUrl'=>'url'

它是一个公共属性,你可以在你的函数中覆盖它的值

$this->action->successUrl = "url-with-data";

注意:这仅用于理解目的,生成动态网址的最佳方式是使用urlmanager