Exemplo n.º 1
0
 public function index(Auth $auth)
 {
     if (empty($_SESSION['logged_user'])) {
         $auth->authorize($to = null, $scope = 'snsapi_userinfo', $state = 'STATE');
         $user = $auth->user();
         Session::put('logged_user', $user->openid);
         // 跳转到其它授权才能访问的页面
     }
 }
Exemplo n.º 2
0
 public function anyIndex(Request $request)
 {
     $auth = new Auth(env('WECHAT_APPID'), env('WECHAT_APPSECRET'));
     if (empty(session('logged_user'))) {
         $user = $auth->authorize($to = null, $scope = 'snsapi_userinfo', $state = 'STATE');
         session(['logged_user' => $user]);
         return redirect('/api/wx');
     } else {
         return redirect('/login')->with(['openid' => session('logged_user')['openid'], 'unionid' => session('logged_user')['unionid']]);
     }
 }
Exemplo n.º 3
0
 private function check_login()
 {
     if (!session()->has('user')) {
         //获取用户信息
         $auth = new Auth($this->app_id, $this->secret);
         $user_info = $auth->authorize($to = null, $scope = 'snsapi_userinfo', $state = 'STATE');
         $check = User::where("openid", $user_info->openid)->first();
         //如果数据库没有用户记录,存入数据库
         if (!$check) {
             $user = User::create(['openid' => $user_info->openid, 'sex' => $user_info->sex, 'nickname' => $user_info->nickname, 'city' => $user_info->city, 'province' => $user_info->province, 'headimgurl' => $user_info->headimgurl]);
         } else {
             //如果数据库中已经有了当前用户
             $user = $check;
         }
         //用户信息存入session,并跳转到微商城首页
         session()->put('user', $user);
         return back();
     }
 }
Exemplo n.º 4
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $appId = 'wx22be62c5077abcfe';
     $secret = 'f364efc269da0f33e7f376e0ca4c9cc0';
     $auth = new Auth($appId, $secret);
     $wxUser = Session::has("wxUser");
     if (!$wxUser) {
         $user = $auth->authorize(null, 'snsapi_base');
         $userService = new User($appId, $secret);
         $userInfo = $userService->get($user->openid);
         $wxUser = WxUser::getByOpenId($user->openid);
         if (!$wxUser) {
             $wxUser = WxUser::saveWxUser($userInfo);
         } else {
             $wxUser->updateWxUser($userInfo);
         }
         Session::put('wxUser', $wxUser);
     }
     return $next($request);
 }
Exemplo n.º 5
0
 /**
  * @param string $jump_url
  * @return null|\Overtrue\Wechat\Utils\Bag
  */
 public function authorizeUser($jump_url)
 {
     $appId = $this->_appId;
     $secret = $this->_secret;
     $auth = new Auth($appId, $secret);
     $result = $auth->authorize(url($jump_url), 'snsapi_base,snsapi_userinfo');
     \Session::put('web_token', $result->get('access_token'));
     return $auth->getUser($result->get('openid'), $auth->access_token);
 }