您现在的位置是:首页 > 微信公众号

李清波 2019-08-08 微信公众号 78

微信授权登录


登录逻辑

1、用户第一次访问,判断是否登录

2、如果未登录,跳到微信授权登录页面

3、获取用户微信信息,和数据库对接并保存

4、提示登录成功


获取用户信息逻辑

1、通过微信接口获取code

2、拿到code后第二次跳转传入code获取用户基本信息


php

public function login(){
    // 获取code的
    $code = input('code');

    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:http://www.liqingbo.cn/api/wechat/getCode/?url='.$url);
        exit;
        
    }else{

        // 第二次访问
        $options = array (
            'token' => 'ooczfh1408592787', // 填写你设定的key
            'appid' => '', // 填写高级调用功能的appid
            'appsecret' => '' // 填写高级调用功能的密钥
        );
        $wechat = new WechatApi($options);
        $result = $wechat->getOauthAccessToken($code);
        if(empty($result)){
            return 'error';
        }

        return json(['code'=>0, 'msg'=>'success','data'=>$result]);
    }
}


oauth.php文件,放根目录下

<!DOCTYPE HTML>
<html>
<head>
	<meta charset="UTF-8">
	<title>授权页面跳转中</title>
</head>
<body>
	<?php
	$url = $_GET['url'];
	$url = $url.'?code='.$_GET['code'];
	Header("Location: $url"); 
	?>
</body>
</html>


WechatApi.php代码

点击这里查看


评论