PHP 登录微信,PHP实现微信登录

登录逻辑

1.微信访问网址

2.第一次跳转到获取code方法

3.第二次跳转传入code获取openid,通过openid处理微信登录

4.跳到登录成功页面,或者绑定页面

获取code逻辑

2293c3fde76fcd2a0ab8d10d14c78449.png

代码// 获取code的

public function wechatLogin(){

$code = input('code');

// 如果cookie缓存里面已经保存着openid,则不会再次获取新的openid

if (empty($code)) {

$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";

$url = $protocol.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

header('Location:https://统一获取code的域名/api/wechat/getCode/?url='.$url);

exit;

}else{

// 防止刷新时导致重复带入过期code导致获取openid错误

$options = array (

'appid' => 'xxx', // 填写高级调用功能的appid

'appsecret' => 'xxx' // 填写高级调用功能的密钥

);

$wechat = new WechatApi($options);

$result = $wechat->getOauthAccessToken($code);

// access_token,expires_in,refresh_token,openid,scope

}

}

上面跳转获取code的代码// 获取code

public function getCode(){

ob_start();

$myurl = Request::param('url');

$options = array (

'token' => '', // 填写你设定的key

'appid' => '', // 填写高级调用功能的appid

'appsecret' => '' // 填写高级调用功能的密钥

);

$wechat = new WechatApi($options);

$callback = 'https://域名/oauth.php?url= '.$myurl;

$url = $wechat->getOauthRedirect($callback,$state='',$scope='snsapi_base');

header("Location:".$url);

exit;

}

oauth.phpHTML>

授权页面跳转中

$url = $_GET['url'];

$url = $url.'?code='.$_GET['code'];

Header("Location: $url");

?>

这里有上面代码所需要的类

可以用微信打开以下地址查看演示

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值