【WEB開發】微信網頁受權第三方登陸接口(WEB登陸)

隨着手機微信的崛起,騰訊發佈的微信聯登確實很誘惑pc端的夥伴們,如今就說說在pc端用微信掃一掃實現微信第三方登錄的方式。(具體代碼U盤)html

 本文連接至:http://blog.csdn.net/hxker/article/details/50260669api

 
第一步:獲取AppID AppSecret(不作解釋,本身去微信公衆平臺申請)

 

第二步:生成掃描二維碼,獲取code
https://open.weixin.qq.com/connect/qrconnect?appid=AppID&redirect_uri=urlencode(https://www.baidu.com)&response_type=code&scope=snsapi_login&state=2014#wechat_redirect

第三步:經過code獲取access_token
https://api.weixin.qq.com/sns/oauth2/access_token?appid=AppID&secret= AppSecret&code=00294221aeb06261d5966&grant_type=authorization_code
第四步:因接口頻率有次數限制,若是須要,刷新access_token
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=AppID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

    第 步:經過access_token和openid獲取用戶的基礎信息,包括頭像、暱稱、性別、地區
https://api.weixin.qq.com/sns/userinfo?access_token=bezXEiiBSKSxW0eoblIewFNHqAG-PyW9OqI_L81E4ZCi2cFpfoJTyQc0xKlPPCtqK1kLJfiRbVrpoOVLw7fjpqh52bn7C68SHa2HSgYsVPXZPvJvtayDa57-_7TeHYw&openid=o39YsbmuV_bIPGpj1MTe


這是接口在線調試工具:
http://mp.weixin.qq.com/debug/
這是錯誤碼說明文檔:
http://mp.weixin.qq.com/wiki/17/fa4e1434e57290788bde25603fa2fcbd.html 
另外須要特別注意,若是開發者有在多個公衆號,或在公衆號、移動應用之間統一用戶賬號的需求,須要前往微信開放平臺(open.weixin.qq.com)綁定公衆號後,纔可利用UnionID機制來知足上述需求,文檔:
http://mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html
 
 
技術分享:
第一步:請求CODE

第三方使用網站應用受權登陸前請注意已獲取相應網頁受權做用域(scope=snsapi_login),則能夠經過在PC端打開如下連接:
https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect微信

若提示「該連接沒法訪問」,請檢查參數是否填寫錯誤,如redirect_uri的域名與審覈時填寫的受權域名不一致或scope不爲snsapi_login。session

參數說明
參數 是否必須 說明 appid 是 應用惟一標識 redirect_uri 是 重定向地址,須要進行UrlEncode, response_type 是 填code, scope 是 應用受權做用域,擁有多個做用域用逗號(,)分隔,網頁應用目前僅填寫snsapi_login便可 ,state 否 用於保持請求和回調的狀態,受權請求後原樣帶回給第三方。該參數可用於防止csrf攻擊(跨站請求僞造攻擊),建議第三方帶上該參數,可設置爲簡單的隨機數加session進行校驗
返回說明

用戶容許受權後,將會重定向到redirect_uri的網址上,而且帶上code和state參數app

redirect_uri?code=CODE&state=STATE
微信公衆平臺

若用戶禁止受權,則重定向後不會帶上code參數,僅會帶上state參數工具

redirect_uri?state=STATE
網站

請求示例

登陸一號店網站應用url

https://passport.yhd.com/wechat/login.dospa

打開後,一號店會生成state參數,跳轉到
https://open.weixin.qq.com/connect/qrconnect?appid=wxbdc5610cc59c1631&redirect_uri=https%3A%2F%2Fpassport.yhd.com%2Fwechat%2Fcallback.do&response_type=code&scope=snsapi_login&state=3d6be0a4035d839573b04816624a415e#wechat_redirect

微信用戶使用微信掃描二維碼而且確認登陸後,PC端會跳轉到

https://passport.yhd.com/wechat/callback.do?code=CODE&state=3d6be0a4035d839573b04816624a415e

相關文章
相關標籤/搜索