微信公眾平台,微信網頁授權,redirect_uri參數錯誤,解決方法!


剛才在做微信網頁授權的時候,發生一個錯誤!!!微信網頁授權redirect_uri 參數錯誤!

 

遇到問題,第一時間應該做的就是查看官網微信公眾平台的技術文檔。

微信網頁授權

如果用戶在微信客戶端中訪問第三方網頁,公眾號可以通過微信網頁授權機制,來獲取用戶基本信息,進而實現業務邏輯。

關於網頁授權回調域名的說明

1、在微信公眾號請求用戶網頁授權之前,開發者需要先到公眾平台官網中的“開發 - 接口權限 - 網頁服務 - 網頁帳號 - 網頁授權獲取用戶基本信息”的配置選項中,修改授權回調域名。請注意,這里填寫的是域名(是一個字符串),而不是URL,因此請勿加 http:// 等協議頭; 

2、授權回調域名配置規范為全域名,比如需要網頁授權的域名為:www.qq.com,配置以后此域名下面的頁面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以進行OAuth2.0鑒權。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com無法進行OAuth2.0鑒權 

3、如果公眾號登錄授權給了第三方開發者來進行管理,則不必做任何設置,由第三方代替公眾號實現網頁授權即可。

檢查微信授權的網頁服務。

網頁帳號   網頁授權獲取用戶基本信息     無上限     修改       

點擊修改,進去把http://www.xxxx.cn 改為www.xxxx.cn就不會出現redirect_uri 參數錯誤!

注意:http://www.xxxx.cn這樣是可以通過網頁授權安全監測的,我們不知道這是有問題的,后來程序執行調用的時候發現redirect_uri 參數錯誤,查看文檔,回來發現,原來是這里的錯誤。

//獲取用戶的openid
  function getBaseInfo(){
   //1.獲取到code
   $appid="qq1813284q1q6q8888";//這里的appid是假的演示用
   $redirect_uri=urlencode("http://www.xxxx.cn/xxx.php/Index/getUserOpenId");//這里的地址需要http://
   $url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
   header('location:'.$url);
  }

  function getUserOpenId(){
   //2.獲取到網頁授權的access_token
   $appid="qq1813284q1q6q8888";//這里的appid是假的演示用
   $appsecret="61qqqq36745987167q73bq1q2552qq75";//這里的appsecret是假的演示用
   $code=$_GET['code'];
   $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code ";
   //3.拉取用戶的openid
   $res = $this->http_curl($url,'get');

 var_dump($res);//打印即可看到用戶的openid

}

轉自:https://www.cnblogs.com/jilu/p/6123447.html


免責聲明!

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



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