微信受權登陸

1、須要瞭解的整個過程
微信受權登陸的整個過程:
1. 第三方發起微信受權登陸請求,微信用戶容許受權第三方應用後,微信會拉起應用或重定向到第三方網站,而且帶上受權臨時票據code參數;
2. 經過code參數加上AppID和AppSecret等,經過API換取access_token;
3. 經過access_token進行接口調用,獲取用戶基本數據資源或幫助用戶實現基本操做。
2、具體步驟
1.用戶受權並獲取code
  • APPID就是填寫你公衆號的appid
  • REDIRECT_URI是填寫經過urlEncode處理的受權地址,不能直接填寫。(處理網站: http://tool.oschina.net/encode?type=4,在這裏有一個要注意的就是,在填寫網關時,要去掉http://,否則就會出現 redirect_uri的域名與審覈時填寫的受權域名不一致)
  • SCOPE通常填寫snsapi_userinfo比較好,可以直接經過用戶受權獲取用戶信息(snsapi_login是坑, snsapi_base只能獲取openid)
請求地址參數說明
參數
是否必須
說明
appid
應用惟一標識
redirect_uri
請使用urlEncode對連接進行處理
response_type
填code
scope
應用受權做用域,擁有多個做用域用逗號(,)分隔,網頁應用目前僅填寫snsapi_login即
state
用於保持請求和回調的狀態,受權請求後原樣帶回給第三方。該參數可用於防止csrf攻擊(跨站請求僞造攻擊),建議第三方帶上該參數,可設置爲簡單的隨機數加session進行校驗
 
2.經過code獲取assess_token和openid
經過code獲取access_token和openid(有這兩個就能獲取用戶基本信息,如暱稱、頭像)
其實就是將獲取到的code填進去,appid和secret是填寫你公衆號的appid和secret就行。
請求地址參數說明
參數
是否必須
說明
appid
應用惟一標識,在微信開放平臺提交應用審覈經過後得到
secret
應用密鑰AppSecret,在微信開放平臺提交應用審覈經過後得到
code
填寫第一步獲取的code參數
grant_type
填authorization_code
 
返回說明
正確的返回:
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE",
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
參數說明
參數
說明
access_token
接口調用憑證
expires_in
access_token接口調用憑證超時時間,單位(秒)
refresh_token
用戶刷新access_token
openid
受權用戶惟一標識
scope
用戶受權的做用域,使用逗號(,)分隔
unionid
當且僅當該網站應用已得到該用戶的userinfo受權時,纔會出現該字段。
 
3、獲取用戶基本信息
填上獲取到的token和openid,獲取用戶信息。
 
4、一些總結
1.域名問題
    我是使用了ngrok進行測試的,作微信公衆,域名是必須的,這裏ngrok反向代理能夠暫時解決。(ngrok 是一個反向代理,經過在公共的端點和本地運行的 Web 服務器之間創建一個安全的通道。)
因爲這個東西不是很瞭解,因此就很少敘述了(經過ngrok創建通向本地8080端口的通道,可以獲取到一個隨機的域名)
2.微信公衆號底部菜單欄
    在作這個微信受權有一個困擾個人地方,剛開始我是經過拼接url去測試的(我的以爲巨麻煩)。後來我就使用了微信公衆號底部菜單欄。這裏就說一下自定義菜單欄吧。。。。。
點開官方地址
拖到最底會看到一個連接(使用網頁調試工具調試該接口)
經過這裏就能自定義菜單了。。。。。
 
 
後記:
概念:snsapi_base與snsapi_userinfo屬於微信網頁受權獲取用戶信息的兩種做用域。 區別:有無彈框 以snsapi_base爲scope發起的網頁受權,是用來獲取進入頁面的用戶的openid的,而且是靜默受權並自動跳轉到回調頁的. (靜默的另外一種:對於已關注公衆號的用戶,若是用戶從公衆號的會話或者自定義菜單進入本公衆號的網頁受權頁,即便是scope爲snsapi_userinfo,也是靜默受權,用戶無感知。) 以snsapi_userinfo爲scope發起的網頁受權,是用來獲取用戶的基本信息的。但這種受權須要用戶手動贊成,而且因爲用戶贊成過,因此無須關注,就可在受權後獲取該用戶的基本信息。 --------------------- 本文來自 enjoy_sun_moon 的CSDN 博客 ,全文地址請點擊: https://blog.csdn.net/enjoy_sun_moon/article/details/79497566?utm_source=copy
相關文章
相關標籤/搜索