2016-05-18 5 views
0

私はFacebookで記入できるユーザー情報(名前、性別、電子メールなど)を取得するリードジェネ用のフォームを持っています。しかし、問題は、インデックスページへのFBリダイレクトでフォームを埋めることを選択することです。戻るページを他のビューまたはアクションに設定するにはどうすればよいですか?Yii2 AuthClientはFacebookクライアントの返信ページを設定します

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

+0

あなたの認証アクションの設定は何ですか? –

+0

@KandarpPatelがauthアクション設定 – Bledson

+0

で質問を更新しました 'successUrl' => 'あなたのURL'を設定するには –

答えて

1

それはまた、あなたの機能に

$this->action->successUrl = "url-with-data"; 
をその値を上書きすることができますパブリックプロパティである認証アクションの設定で

'successUrl'=>'url' 

をsuccessUrlを追加

注:これは、目的を理解するためのものです。動的URLを生成する最も良い方法は、urlmanagerを使用することです。

関連する問題