您現在的位置是:首頁 > 微信公眾號

李清波 2019-08-08 微信公眾號 189

微信授權登錄


登錄邏輯

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.rnvazd.tw/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代碼

點擊這里查看


評論