中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TP之移動端微信授權登錄的實現方法

發布時間:2021-03-10 15:08:03 來源:億速云 閱讀:180 作者:小新 欄目:編程語言

這篇文章主要介紹了TP之移動端微信授權登錄的實現方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1、網頁端微信登錄必須在微信中實現。

和PC端掃碼登錄不同,移動端網頁無法使用普通瀏覽器微信授權登錄,必須在微信中使用,這是必須要明確的。

2、準備工作。

我們需要有一個已經認證的微信服務號,這是必備條件。我們打開登錄微信公眾平臺,找到“接口權限”。

TP之移動端微信授權登錄的實現方法

我們已經有了獲取網頁用戶信息的權限,如果服務號沒有認證的話,這個權限是沒有的。

之后點擊修改,配置需要微信授權的域名。注意授權需要寫www.abc.com,不能帶http,錯誤寫法:http://www.abc.com。

3、微信授權獲取微信用戶信息

準備工作做好后,我們就可以按照文檔https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 來一步步進行了。

第一步:用戶同意授權,獲取code。

public function wechat_login(){

            $appid='wxff5b68b041a4fb11';//公眾號基本配置中獲取
            $redirect_uri='http://a.xx.cn/mobile/user/weixin_m.html';//用戶授權后跳轉處理的地址
            $url="https://open.weixin.qq.com/connect/oauth3/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
            return redirect($url);
        }

我們引導用戶去訪問wechat_login這個方法,這里需要準備兩個參數,appid在公眾號基本配置中獲取,redirect_uri是微信用戶授權后的處理地址回調,這里一定要寫http絕對地址,外網能夠訪問的地址。

第二步:通過code換取網頁授權access_token

我們建立第一步的回調方法weixin_m。我們先打印code,檢測我們是否能夠獲取,這也是程序調試的常用步驟,這步驟沒問題再進行下面的。

public function weixin_m(){
            $code=input('get.code');
            halt($code);
}

TP之移動端微信授權登錄的實現方法

接下來我們再獲取access_token。

public function weixin_m(){
            $code=input('get.code');
            $appid='wxff5b68b241a4fb11';//公眾號基本配置中獲取
            $appsecret='412a24b17e61317d589b8bf92f374ffc';
            $url="https://api.weixin.qq.com/sns/oauth3/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";
            $res=json_decode(file_get_contents($url),true);//json轉數組
}

我們去請求地址獲取access_token,其中需要三個參數:appid、appsecret、code。appsecret同樣也是在公眾號基本配置中獲取。

獲取后微信默認返回是json格式,所以我們把json轉成數組,這樣就方便進行操作。

打印數組如下:

array:6 [
                "access_token" => "37_3RRxoQZKuECSpCfGMYLcO-1ZXu_uhTkdku_m29u4XfSq9-Ve_0Fn5_K6vUBpkiL1iXRpEBepOfeMZZA7TGm-bg"
                 "expires_in" => 7200
                "refresh_token" => "37_CjmxjzqBCqiIVH3aKjR22RQniCr_7DYYJYgodMONV5822FnfKuq0VwOS0B9dfucHf6GxTjXbczruwS5NIkGAWw"
                 "openid" => "oaq-51XAHNaj9qUxVwYu3-elVTa0"
                 "scope" => "snsapi_userinfo"
                 "unionid" => "oO0Bhv6ZSw4ZYV60CMzi2p4eUO7s"
            ]

這樣我們就成功獲取到了access_token和openid。

第三步:拉取用戶信息(需scope為 snsapi_userinfo)

我們依然按照文檔去請求地址:

 $user_url="https://api.weixin.qq.com/sns/userinfo?access_token=".$res['access_token']."&openid=".$res['openid']."&lang=zh_CN";            
 $userData=json_decode(file_get_contents($user_url),true);//json轉數組            
 halt($userData);

請求的時候需要攜帶我們在第二步中獲取的access_token和openid兩個參數。微信返回仍然是json格式,我們再次把json轉成數組。

打印數組如下:

TP之移動端微信授權登錄的實現方法

獲取到用戶數據后,我們就可以對數組入庫或者其他操作了。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“TP之移動端微信授權登錄的實現方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

tp
AI

烟台市| 延吉市| 高州市| 呼玛县| 三原县| 鲁甸县| 从江县| 日喀则市| 拉孜县| 罗田县| 济阳县| 昭苏县| 琼结县| 始兴县| 多伦县| 青州市| 甘德县| 镇江市| 宜昌市| 罗平县| 关岭| 常熟市| 永济市| 盈江县| 万全县| 丰宁| 页游| 孟连| 营口市| 依兰县| 杨浦区| 和顺县| 伊宁市| 东方市| 嫩江县| 包头市| 瑞丽市| 安阳县| 漾濞| 咸阳市| 富裕县|