微信公衆號開發(六)網頁授權獲取用戶信息

微信的網頁授權是基於OAuth2.0協議的,OAuth(開放授權)是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的資源(如頭像,個人信息等),而無需將用戶名和密碼提供給第三方應用;而OAuth2.0則是OAuth協議的升級版,但並不兼容老版本。

實際上,現在很多企業都使用到OAuth2.0,比如支付寶,微信,QQ授權登錄等等。

授權流程:

微信開發文檔中引導我們操作的流程是:

更詳細的流程如下,主要是利用一個code授權碼來進行授權:

特別注意:
1.本文中用到的Access_Token是專屬於網頁授權而使用的Access_Token憑據,與之前其他接口用的Access_Token憑據是不同的,所以我們要通過另外一個接口來獲取網頁授權使用的Access_Token。

2.網頁授權分兩種scope授權作用域
(1)scope爲snsapi_base的網頁授權,是用來獲取進入頁面的用戶的openid的,並且是靜默授權並自動跳轉到回調頁的,也就是說用戶完全感覺不到你在獲取他的信息,但只能獲取openid。
(2)scope爲snsapi_userinfo的網頁授權,是用來獲取用戶的基本信息的(包括openid,頭像,暱稱,城市,性別等),這種授權需要用戶手動同意,無須關注公衆號,就可在用戶同意後獲取該用戶的基本信息。

實現步驟

注意:服務號或者測試號纔有網頁授權的功能權限

一:安裝微信web開發者工具,待會用於調試頁面

下載地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1455784140

二:配置授權域名,設置該域名擁有網頁授權的權限(如果不設置,就沒有權限使用網頁授權)。

在接口權限列表找到網頁授權,點修改按鈕:

把域名填入到輸入框中:

確認保存即可。

三:準備好一個頁面,用於顯示用戶的詳細信息
我的頁面訪問地址爲http://ansheng.nat300.top/getUserInfo.do,是通過controller請求轉發到個人信息頁面。

發佈了87 篇原創文章 · 獲贊 40 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章