php微信扫码登录和公众号登录

/**
 * 微信授权登录
 * @param  Request
 * @return [json]
 */
 

public function wxSignin(Request $request)
{

    $code        =    $request->input('code');
    $state       =    $request->input('state');
    $appid       =    config('wechat.appId');
    $secret      =    config('wechat.secret');

    $url         =    "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
    $data        =    $this->getclient($url);

    $access_token=    $data['access_token'];
    $openid      =    $data['openid'];
    $res         =    "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid";
    $userinfo    =    $this->getclient($res);

    $res         =    $this->post('wx/authorize',$userinfo,[]);

    if($res['status_code'] == 200) {
      \Cookie::queue('CG_TK', $res['data']['token'], $minutes = 525600, $path = null, $domain = null, $secure = false, $httpOnly = false);
   }
    return redirect('https://www.*******.cn/d/?openid='.$openid);  //跳转的路径


}

 

/**
 * 微信扫码登录
 * @param  Request
 * @return [json]
 */



public function qrcodeLogin(Request $request)
{

    $code        =    $request->input('code');
    $state       =    $request->input('state');
    $appid       =    config('wechat.webappId');
    $secret      =    config('wechat.webappsecret');

    $url         =    "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";

    $data        =    $this->getclient($url);      //微信扫码三次请求
    $refresh_token      =    $data['refresh_token'];
    $oneUrl             =    "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=$appid&grant_type=refresh_token&refresh_token=$refresh_token";

    $oneRequest         =    $this->getclient($oneUrl);
    $openid             =    $oneRequest['openid'];
    $access_token       =    $oneRequest['access_token'];
    $twoUrl             =    "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid";

    $twoRequest         =    $this->getclient($twoUrl);
    $data               =    $this->post('wx/authorize',$twoRequest,[]);



    return $data;

}

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值