前段時間做了一個微信第三方授權(quán),一直想寫一篇文章分享一下,但是總是忙,今天終于有空閑給寫出來了,整個流程很簡單清晰,在簽名驗證的地方可能有點兒小坑,并且在用戶取消授權(quán)的時候,微信api說的是會把消息推送到回調(diào)地址中,在這里強調(diào)一下這個回調(diào)地址不是授權(quán)時候的回調(diào)地址,而是你申請第三方平臺時候填寫的授權(quán)地址,閑話少說進入正題。(如有問題,可留言交流)

簡單流程先描述

  用戶點擊授權(quán)按鈕 -> 獲取第三方令牌 -> 獲取預授權(quán)碼 -> 進入微信授權(quán)頁面 -> 用戶掃碼授權(quán) -> 微信推送授權(quán)結(jié)果

第一步 維護微信推送的 component_verify_ticket

  在第三方平臺創(chuàng)建審核通過后,微信服務(wù)器會向其“授權(quán)事件接收URL”每隔10分鐘定時推送component_verify_ticket,該ticket是加密的xml串,需要解碼獲取到ticket值(用于獲取預授權(quán)碼);

  解密用的是php的加解密模塊(安裝php自帶的),代碼用的是微信提供的。

  代碼如下

電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

     $timeStamp  = empty($_GET['timestamp']) ? "" : trim($_GET['timestamp']); // 時間戳         $nonce      = empty($_GET['nonce']) ? "" : trim($_GET['nonce']); // 隨機字符         $msg_sign   = empty($_GET['msg_signature']) ? "" : trim($_GET['msg_signature']); // 簽名(公鑰)         $encryptMsg = file_get_contents('php://input'); // xml         $xml_tree = new \DOMDocument();         $xml_tree->loadXML($encryptMsg);         $array_
        
		

網(wǎng)友評論