yii2环境下easyWeChat企业微信的网页授权认证

按照easyWeChat文档示例代码来着
访问loginwx转到了
open.weixin.qq.com/connect/oauth2/authorize显示failed状态
但是回调页又能获取到用户基本信息,且没产生跳转回loginwx页
貌似就是在yii2下不对,log也没信息

 public $config = [
        'corp_id' => 'wxa81293306951999',
        'debug'  => false,
        'agents' => [
            'foox' => [
                'agent_id' => 1000004,
                'secret'   => 'mXyyz0haLT8Y-uDyT1ST_8zGOvUSJhQC-5_PiEdI-v0',

                'token' => 'oNKodUuPdreVu1ZcrSA9v',
                'aes_key' => '8kjF1guL1mmCza6NkH7H595o2goAklcfvWTfdUvqFM4',
            ],
        ],
        'oauth' => [
            'scopes'   => ['snsapi_base'],
            'callback' => 'https://oa.abc.com/weixin/callback',
        ],
        'log' => [
            'level'      => 'debug',
            'permission' => 0777,
            'file'       => '/home/www/oa.abc.com/a.log',
        ],
    ];
    public function init()
   {
       $this->enableCsrfValidation = false;
       $this->layout = false;
   }
  public function actionCallback()
    {
        $app = Factory::work($this->config);
        $oauth = $app->oauth;
        // 获取 OAuth 授权结果用户信息
        $user = $oauth->user();
         $session=Yii::$app->session;
         $session->set('wechat_user', $user->toArray());
         $targetUrl = empty($session->get('target_url')) ? '/' : $session->get('target_url');
     // var_dump(  $session->get('wechat_user'));die;//这里都打印了正确的内容
      //var_dump($targetUrl);die;//这里都打印了正确的内容
        header('location:'.$targetUrl);
       
    }
    public function actionLoginwx()
    {
        $app = Factory::work($this->config);
          $oauth  = $app->oauth;
           $session=Yii::$app->session;
       // 未登录

           if (empty($session->get('wechat_user'))) {
               $session->set('target_url', 'https://oa.abc.com/weixin/loginwx');

               return  $oauth->redirect('https://oa.abc.com/weixin/callback');
          }

   // 已经登录过
           $user =  $session->get('wechat_user');
           var_dump($user );



      
    }
阅读 5.5k
1 个回答

回调页不用填域名的,填相对路径就可以 了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进