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


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

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

 
第一步:獲取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。

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

用戶允許授權后,將會重定向到redirect_uri的網址上,並且帶上code和state參數

redirect_uri?code=CODE&state=STATE

若用戶禁止授權,則重定向后不會帶上code參數,僅會帶上state參數

redirect_uri?state=STATE

請求示例

登錄一號店網站應用

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

打開后,一號店會生成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

 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM