1. 程式人生 > >微信公眾平臺OAuth2.0網頁授權thinkphp示例

微信公眾平臺OAuth2.0網頁授權thinkphp示例

1、配置授權回撥頁面域名,如 www.haoqtv.com

2、模擬公眾號的第三方網頁,fn_system.php

<?php

if(empty($_SESSION['user'])){
	
	header("Location:http://www.aaa.com/uc/fn_wx_login.php");
}else{
	print_r($_SESSION['user']);
}

?>

3、訪問第三方網頁時,如果檢查session中不存在會話資訊,則跳轉至登陸頁,fn_wx_login.php
<?php

	$appid = "公眾號在微信的appid";
	$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=http%3a%2f%2fwww.aaa.com%2fuc%2ffn_callback.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';
	header("Location:".$url);

?>

4、在登陸頁組裝appid,回跳url等資訊,然後跳轉至微信的使用者授權頁。

5、在微信的使用者授權頁,如果使用者選擇了“同意授權”,則微信重新回跳至第三方網頁的回跳地址時,會附帶上code引數。

6、第三方網頁的回跳url中,首先從請求中取得code,然後根據code進一步換取openid和access_token,然後就可以根據openid和access_token呼叫微信的相關介面查詢使用者資訊了。

<?php

$appid = "公眾號在微信的appid";
$secret = "公眾號在微信的app secret";
$code = $_GET["code"];
$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$get_token_url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);

//根據openid和access_token查詢使用者資訊
$access_token = $json_obj['access_token'];
$openid = $json_obj['openid'];
$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$get_user_info_url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);

//解析json
$user_obj = json_decode($res,true);
$_SESSION['user'] = $user_obj;
print_r($user_obj);

?>


相關推薦

公眾平臺OAuth2.0網頁授權thinkphp示例

1、配置授權回撥頁面域名,如 www.haoqtv.com 2、模擬公眾號的第三方網頁,fn_system.php <?php if(empty($_SESSION['user'])){ header("Location:http://www.aaa.co

公眾號開發(5)---使用開源組件開發公眾OAuth2.0網頁授權授權登錄

esp 開發 color use oauth2 url rec wired 公眾號 搞清微信公眾號授權登錄的步驟步驟,我們的開發就完成了一大步 獻上github 地址: https://github.com/Wechat-Group/weixin-java-tools/wi

公眾oAuth2.0授權問題總結

1、理論 http://www.cnblogs.com/txw1958/p/weixin71-oauth20.html 微信公眾平臺OAuth2.0授權詳細步驟如下: 1. 使用者關注微信公眾賬號。 2. 微信公眾賬號提供使用者請求授權頁面URL。 3. 使用者點

公眾號開發之網頁授權(獲取用戶息)

還需要 開發文檔 app err 通過 casb ddt 省份 sse   這次暑假留在學校參與工作室的項目,對微信公眾號比較感興趣,所以參與這方面的學習研究。 昨天完成了關於網頁授權,獲取用戶信息方面的功能,所以乘熱打鐵,寫上一篇。實現本篇涉及的 功能,還需要完成一些基礎

公眾平臺使用JSSDK網頁調起掃碼並獲取掃碼資料(PHP)

微信公眾平臺使用JSSDK網頁調起掃碼並獲取掃碼資料 初學者,部分css樣式在網上扒下來的,功能實現了,程式碼很糙,非常糙,望海涵,也希望大神多指導 得到你的APPID與AppSecret 獲取到access_token與ticket 配置wx.confi

公眾號開發之網頁授權(獲取使用者資訊兩種方式)

  這次暑假留在學校參與工作室的專案,對微信公眾號比較感興趣,所以參與這方面的學習研究。昨天完成了關於網頁授權,獲取使用者資訊方面的功能,所以乘熱打鐵,寫上一篇。實現本篇涉及的功能,還需要完成一些基礎。在寫完這篇部落格後,我會盡快補上。-------------------------廢話不多說直入正題需要的

Java公眾平臺開發之OAuth2.0網頁授權

col nts har 順序 pan getcount iba unionid syn 根據官方文檔點擊查看在微信公眾號請求用戶網頁授權之前,開發者需要先到公眾平臺官網中的“開發 - 接口權限 - 網頁服務 - 網頁帳號 - 網頁授權獲取用戶基本信息”的配置選項中,修改授權

公眾平臺開發 OAuth2.0網頁授權認證 網頁授權獲取使用者基本資訊

一、什麼是OAuth2.0 官方網站:http://oauth.net/   http://oauth.net/2/ 權威定義:OAuth is An open protocol to allow secure authorization in a simple and

公眾平臺開發 OAuth2.0網頁授權

一、什麼是OAuth2.0 官方網站:http://oauth.net/ http://oauth.net/2/ 權威定義:OAuth is An open protocol to allow secure authorization in a si

公眾平臺開發 OAuth2.0網頁授權認證

一、什麼是OAuth2.0 官方網站:http://oauth.net/   http://oauth.net/2/ 權威定義:OAuth is An open protocol to allow secure authorization in a simple an

公眾平臺開發OAuth2.0網頁授權

本文章轉自方倍工作室:http://www.cnblogs.com/txw1958/p/weixin71-oauth20.html 一、什麼是OAuth2.0 官方網站:http://oauth.net/   http://oauth.net/2/ 權威定義:OA

Java公眾平臺開發(十六)--網頁授權(OAuth2.0授權)獲取用戶基本

php sendget 會話 oauth lsp row code end except 轉自:http://www.cuiyongzhi.com/post/78.html 好長時間沒有寫文章了,主要是最近的工作和生活上的事情比較多而且繁瑣,其實到現在我依然還是感覺有些迷茫

公眾平臺開發——授權登入(OAuth2.0

1、OAuth2.0簡介   OAuth(開放授權)是一個開放標準,允許使用者讓第三方應用訪問該使用者在某一網站上儲存的私密的資源(如照片,視訊,聯絡人列表),而無需將使用者名稱和密碼提供給第三方應用。   允許使用者提供一個令牌,而不是使用者名稱和密碼來訪問他們存放在特

公眾號開發《一》OAuth2.0網頁授權認證獲取使用者的詳細資訊,實現自動登陸

從接觸公眾號到現在,通過不斷積累學習,對如何呼叫微信提供介面有了一定的見解。當然在開發過程中遇到很多問題,現在把部分模組功能在這備案一下,做個總結也希望能給其他人幫助 工欲善其事,必先利其器,先看看開發公眾號需要準備或瞭解什麼 web開發工具:官方提供的開發工具,使用自己

公眾平臺開發——授權登錄(OAuth2.0

con 城市 gb2 login pre 客戶 上傳 需要 擁有 1、OAuth2.0簡介   OAuth(開放授權)是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的資源(如照片,視頻,聯系人列表),而無需將用戶名和密碼提供給第三方應用。   允許

公眾平臺開發—利用OAuth2.0獲取信用戶基本

arch getjson code back acc unicom toc gets down 1、首先在某微信平臺下配置OAuth2.0授權回調頁面: 2、通過appid構造url獲取微信回傳code值(appid可在微信平臺下找到) 1)、微信不彈出授權頁面ur

用chrome模擬瀏覽器訪問需要OAuth2.0網頁授權的頁面

mil col cnblogs bre letter 型號 默認 刷新 build 現在很流行微信網頁小遊戲,用html5制作的小遊戲移過來,可以放到微信瀏覽器中打開,關鍵是可以做成微信分享朋友圈的形式,大大提高遊戲的傳播,增強好友的遊戲互動。 微信瀏覽器中打開網頁遊戲效

公眾平臺開發(二)網頁授權

是否 color 平臺開發 基本 業務 自動跳轉 str gpo 點擊 微信公眾平臺OAuth2.0授權詳細步驟如下: 1. 用戶關註微信公眾賬號。2. 微信公眾賬號提供用戶請求授權頁面URL。3. 用戶點擊授權頁面URL,將向服務器發起請求4. 服務器詢問用戶是否同意授權

公眾平臺開發,模板消息,網頁授權JS-SDK,二維碼生成(4)

支持 post 網頁 信息 行業 使用步驟 獲取 公眾 符號 微信公眾平臺開發,模板消息,什麽是模板消息,模板消息接口指的是向用戶發送重要的服務通知,只能用於符合場景的要求中去,如信用卡刷卡通知,購物成功通知等等。不支持廣告營銷,打擾用戶的消息,模板消息類有固定的模板,每個

公眾平臺網頁登入授權多次重定向跳轉,導致code使用多次問題

背景:微信網站開發   昨天我負責的一個專案忽然出現了一個十分詭異的bug,進行微信授權登入的時候請求code的時候安卓手機會多次重定向調轉我的介面接收code的介面(redirect_uri 微信請求調轉接收code的的介面,加了utl.encode()),也就是我這邊預設請求了多次這個介面,然而蘋果手機