国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

微信開(kāi)發(fā) 網(wǎng)頁(yè)授權獲取用戶(hù)基本信息

發(fā)布時(shí)間:2021-08-17 12:10 來(lái)源: 閱讀:0 作者: 欄目: ASP 歡迎投稿:712375056

微信公眾平臺最近新推出微信認證,認證后可以獲得高級接口權限,其中一個(gè)是OAuth2.0網(wǎng)頁(yè)授權,很多朋友在使用這個(gè)的時(shí)候失敗了或者無(wú)法理解其內容,希望我出個(gè)教程詳細講解一下,于是便有了這篇文章。

一、什么是OAuth2.0

官方網(wǎng)站:http://oauth.net/   http://oauth.net/2/

權威定義:OAuth is An open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications.

OAuth是一個(gè)開(kāi)放協(xié)議,允許用戶(hù)讓第三方應用以安全且標準的方式獲取該用戶(hù)在某一網(wǎng)站、移動(dòng)或桌面應用上存儲的私密的資源(如用戶(hù)個(gè)人信息、照片、視頻、聯(lián)系人列表),而無(wú)需將用戶(hù)名和密碼提供給第三方應用。

OAuth 2.0是OAuth協(xié)議的下一版本,但不向后兼容OAuth 1.0。 OAuth 2.0關(guān)注客戶(hù)端開(kāi)發(fā)者的簡(jiǎn)易性,同時(shí)為Web應用,桌面應用和手機,和起居室設備提供專(zhuān)門(mén)的認證流程。

OAuth允許用戶(hù)提供一個(gè)令牌,而不是用戶(hù)名和密碼來(lái)訪(fǎng)問(wèn)他們存放在特定服務(wù)提供者的數據。每一個(gè)令牌授權一個(gè)特定的網(wǎng)站(例如,視頻編輯網(wǎng)站)在特定的時(shí)段(例如,接下來(lái)的2小時(shí)內)內訪(fǎng)問(wèn)特定的資源(例如僅僅是某一相冊中的視頻)。這樣,OAuth允許用戶(hù)授權第三方網(wǎng)站訪(fǎng)問(wèn)他們存儲在另外的服務(wù)提供者上的信息,而不需要分享他們的訪(fǎng)問(wèn)許可或他們數據的所有內容。

新浪微博API目前也使用OAuth 2.0。

原文:http://www.cnblogs.com/txw1958/p/weixin71-oauth20.html

二、微信公眾平臺OAuth2.0授權

微信公眾平臺OAuth2.0授權詳細步驟如下:

1. 用戶(hù)關(guān)注微信公眾賬號。
2. 微信公眾賬號提供用戶(hù)請求授權頁(yè)面URL。
3. 用戶(hù)點(diǎn)擊授權頁(yè)面URL,將向服務(wù)器發(fā)起請求
4. 服務(wù)器詢(xún)問(wèn)用戶(hù)是否同意授權給微信公眾賬號(scope為snsapi_base時(shí)無(wú)此步驟)
5. 用戶(hù)同意(scope為snsapi_base時(shí)無(wú)此步驟)
6. 服務(wù)器將CODE通過(guò)回調傳給微信公眾賬號
7. 微信公眾賬號獲得CODE
8. 微信公眾賬號通過(guò)CODE向服務(wù)器請求Access Token
9. 服務(wù)器返回Access Token和OpenID給微信公眾賬號
10. 微信公眾賬號通過(guò)Access Token向服務(wù)器請求用戶(hù)信息(scope為snsapi_base時(shí)無(wú)此步驟)
11. 服務(wù)器將用戶(hù)信息回送給微信公眾賬號(scope為snsapi_base時(shí)無(wú)此步驟)

使用的AppId和AppSecret在開(kāi)發(fā)者中心-開(kāi)發(fā)者ID中,可以找到。

 

1. 配置授權回調頁(yè)面域名

進(jìn)入微信公眾平臺后臺后,依次進(jìn)入開(kāi)發(fā)者中心-權限表,找到網(wǎng)頁(yè)授權獲取用戶(hù)基本信息,

 

點(diǎn)擊右側的修改。原文:http://www.cnblogs.com/txw1958/p/weixin71-oauth20.html

授權回調域名配置規范為全域名并且不帶http,比如需要網(wǎng)頁(yè)授權的域名為:www.qq.com,配置以后此域名下面的頁(yè)面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以進(jìn)行OAuth2.0鑒權。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com無(wú)法進(jìn)行OAuth2.0鑒權。

這里我們填寫(xiě)方倍工作室的一個(gè)百度應用二級域名為 mascot.duapp.com

原文:http://www.cnblogs.com/txw1958/p/weixin71-oauth20.html

如果你的網(wǎng)址沒(méi)有被列入過(guò)黑名單,就會(huì )在頂部出現

然后,域名配置就成功了。

2. 用戶(hù)授權并獲取code

在域名根目錄下,新建一個(gè)文件,命名為oauth2.php,其內容為

<?php
if (isset($_GET[‘code‘])){
 echo $_GET[‘code‘];
}else{
 echo "NO CODE";
}
?>

先了解下請求授權頁(yè)面的構造方式:


參數說(shuō)明

應用授權作用域:由于snsapi_base只能獲取到openid,意義不大,所以我們使用snsapi_userinfo。

回調地址:填寫(xiě)為剛才上傳后的oauth2.php的文件地址,

state參數:隨便一個(gè)數字,這里填1

構造請求url如下:


把這個(gè)鏈接發(fā)送到微信中,以便在微信瀏覽器中打開(kāi),這里使用A鏈接封裝如下:

歡迎關(guān)注【近寶】,它能讓你更加方便尋找在你附近合你心意的餐飲、服裝、百貨、美容美發(fā)店鋪。
<a href="">點(diǎn)擊這里綁定</a>
技術(shù)支持 方倍工作室

在微信中顯示如下

點(diǎn)擊綁定后,彈出應用授權界面

選擇允許,點(diǎn)擊

跳轉到auth2.php頁(yè)面,執行

echo $_GET[‘code‘]

界面上顯示的就是code,這時(shí)候通過(guò)右上角按鈕中的復制鏈接,得到鏈接如下:

http://mascot.duapp.com/oauth2.php?code=00b788e3b42043c8459a57a8d8ab5d9f&state=1

我們成功得到了code了。

注意:如果在綁定的時(shí)候出現這樣的界面,就說(shuō)明參數不對,需要回頭檢查一下參數


 

3. 使用code換取access_token

換取網(wǎng)頁(yè)授權access_token頁(yè)面的構造方式:


參數說(shuō)明

code:在這里填寫(xiě)為上一步獲得的值

構造請求url如下:


可以在瀏覽器中直接執行這條語(yǔ)句:

(

這里是關(guān)鍵,就是通過(guò)上面的url獲取json數據的代碼

   $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 要求結果為字符串且輸出到屏幕上
  curl_setopt($ch, CURLOPT_HEADER, 0); // 不要http header 加快效率
  curl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)‘);
  curl_setopt($ch, CURLOPT_TIMEOUT, 15);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https請求 不驗證ssl/' target='_blank'>證書(shū)和hosts
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  
  $output = curl_exec($ch);
  curl_close($ch);
  $jsondecode = json_decode($output); //對JSON格式的字符串進(jìn)行編碼
  $array = get_object_vars($jsondecode);//轉換成數組 
     //紅色兩行是重點(diǎn),針對https的,讓我糾結了一天多

  echo $array;

)

得到如下json數據:

{
 "access_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-G0ZWEE5-uBjBz941EOPqDQy5sS_GCs2z40dnvU99Y5AI1bw2uqN--2jXoBLIM5d6L9RImvm8Vg8cBAiLpWA8Vw",
 "expires_in": 7200,
 "refresh_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-G0ZWEE5-uBjBz941EOPqDQy5sS_GCs2z40dnvU99Y5CZPAwZksiuz_6x_TfkLoXLU7kdKM2232WDXB3Msuzq1A",
 "openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc",
 "scope": "snsapi_userinfo,"
}

數據格式解讀如下:



于是,我們成功的通過(guò)code換取到了access_token,以及refresh_token。

刷新access_token

官方文檔中提到了刷新access_token的功能,但這不是必須要做的,初次使用可以先忽略。

url請求方法如下:


參數說(shuō)明

構造如下:

在瀏覽器中執行得到前面同樣格式的json數據

4. 使用access_token獲取用戶(hù)信息

請求方法:


參數說(shuō)明

構造url如下:


可以在瀏覽器中直接執行這條語(yǔ)句:

得到如下json數據:

{
 "openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc",
 "nickname": "方倍",
 "sex": 1,
 "language": "zh_CN",
 "city": "Shenzhen",
 "province": "Guangdong",
 "country": "CN",
 "headimgurl": "http://wx.qlogo.cn/mmopen/utpKYf69VAbCRDRlbUsPsdQN38DoibCkrU6SAMCSNx558eTaLVM8PyM6jlEGzOrH67hyZibIZPXu4BK1XNWzSXB3Cs4qpBBg18/0",
 "privilege": []
}

參數解讀:


這與我個(gè)人的微信信息是一致的

至此,在不輸入我的賬號及密碼的情況下,微信公眾賬號近寶獲得了我的個(gè)人信息,這些信息包括昵稱(chēng)、性別、國家、省份、城市、個(gè)人頭像以及特權列表。

一個(gè)完整的OAuth2認證就完成了。

三、詳細演示

關(guān)注方倍工作室(二維碼見(jiàn)下圖),回復“授權”,返回圖文消息,點(diǎn)擊圖片

在確認頁(yè)面,點(diǎn)擊“允許”

彈出獲取到的結果(圖片做了防盜處理,所以不能直接顯示出來(lái),可以下載到本地再來(lái)顯示)

 

以上就是關(guān)于微信開(kāi)發(fā),網(wǎng)頁(yè)授權獲取用戶(hù)信息的資料整理,后續繼續補充相關(guān)資料,謝謝大家對本站的支持!

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

99香蕉国产精品偷在线观看| 蜜臀AV在线播放一区二区三区| 国产午夜精品免费一区二区三区| 国产麻豆VIDEOXXXX实拍| 国产又爽又黄又无遮挡的激情视频| 国产亚洲情侣一区二区无|