1. 程式人生 > >【WEB開發】微信網頁授權第三方登入介面(WEB登入)

【WEB開發】微信網頁授權第三方登入介面(WEB登入)

 本文連結至: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

若提示“該連結無法訪問”,請檢查引數是否填寫錯誤,如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

請求示例

登入一號店網站應用

微信使用者使用微信掃描二維碼並且確認登入後,PC端會跳轉到