天天看點

微信snsapi_base靜默授權與snsapi_userinfo網頁授權的實作

snsapi_base隻能擷取access_token和openID,流程走完即終止

snsapi_userinfo可以擷取更詳細的使用者資料,比如頭像、昵稱、性别等

一,

當 scope=snsapi_userinfo時;

參考微信開發文檔:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

1,用全局access_token 和openid 擷取使用者個人資訊,
$url ="https://api.weixin.qq.com/cgi-bin/user/info?access_token={$access_token}&openid={$openid}&
           

(使用者已關注該公衆号) 資訊如下:

微信snsapi_base靜默授權與snsapi_userinfo網頁授權的實作

(使用者未關注該公衆号) 資訊如下:

微信snsapi_base靜默授權與snsapi_userinfo網頁授權的實作

相關參數如下:

微信snsapi_base靜默授權與snsapi_userinfo網頁授權的實作

二,

當 scope=snsapi_base時;

1、第一步,擷取code,

https://open.weixin.qq.com/connect/oauth2/authorize?appid='.APPID.'&redirect_uri='.urldecode(URL).'login.php&response_type=code&scope=snsapi_base&state=start#wechat_redirect

2、第二步,擷取openID, 網頁授權access_token(注意:網頁授權access_token 與 普通access_token的差別)

https://api.weixin.qq.com/sns/oauth2/access_token?appid='.APPID.'&secret='.APPSECRET.'&code='.CODE.'&grant_type=authorization_code

3、第三步,擷取普通access_token,有效期7200秒

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secret

4、第四步,結合openID和普通access_token擷取使用者詳細資訊,https://api.weixin.qq.com/cgi-bin/user/info?access_token='.$access_token.'&openid='.$openId.'&lang=zh_CN

繼續閱讀