通過微信網頁授權獲取使用者OpenId(redirect_uri 引數錯誤)

通過微信網頁授權獲取使用者OpenId(redirect_uri 引數錯誤)

一、微信公眾平臺配置

登陸微信公眾平臺

開發->介面許可權->網頁服務->網頁授權獲取使用者基本資訊->修改
在彈出框中輸入申請的某**殼免費域名:j*s**x***.imwork.NET

微信公眾平臺升級之後的增加第3步下載.txt檔案上傳至伺服器

二、http

1.路由器上配置80埠指向自己的電腦相應tomcat埠

2.部分程式碼

[java] view
plain
 copy

 在CODE上檢視程式碼片派生到我的程式碼片

  1. public String prequery(HttpServletRequest request, HttpServletResponse reponse) throws Exception {  
  2.     logger.info(“query-elec”);  
  3.     String oauthUrl = String.format(OAUTH_CODE_URL,  
  4.             PoolWeixinConfig.getConfig().getAppId(),  
  5.             URLEncoder.encode(“http://j*s**x***.imwork.net/sypro/site/bind/info/query”, “UTF-8”));  
  6.     logger.info(“redirect:”   oauthUrl);  
  7.     return “redirect:”   oauthUrl;  
  8. }  
[java] view
plain
 copy

 在CODE上檢視程式碼片派生到我的程式碼片

  1. protected static final String OAUTH_CODE_URL = “https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=snsapi_base&state=req#wechat_redirect”;  

三、https

1.路由器上配置443埠指向自己的電腦相應tomcat埠

2.tomcat配置ssl協議(server.xml)

[html] view
plain
 copy

 在CODE上檢視程式碼片派生到我的程式碼片

  1. <Connector port=”443″ protocol=”HTTP/1.1″ SSLEnabled=”true”  
  2.            maxThreads=”150″ scheme=”https” secure=”true”  
  3.            clientAuth=”false” sslProtocol=”TLS”   
  4.   keystoreFile=”D:\certs_weixin\tomcat.keystore” keystorePass=”******” ciphers=”tomcat”  
  5.   />  

具體配置參見:http://blog.csdn.net/xiaoshuji/article/details/51602043

3.部分程式碼

[java] view
plain
 copy

 在CODE上檢視程式碼片派生到我的程式碼片

  1. public String prequery(HttpServletRequest request, HttpServletResponse reponse) throws Exception {  
  2.     logger.info(“query-elec”);  
  3.     String oauthUrl = String.format(OAUTH_CODE_URL,  
  4.             PoolWeixinConfig.getConfig().getAppId(),  
  5.             URLEncoder.encode(“https://j*s**x***.imwork.net/sypro/site/bind/info/query”, “UTF-8”));  
  6.     logger.info(“redirect:”   oauthUrl);  
  7.     return “redirect:”   oauthUrl;  
  8. }  

四、注意

回撥redirect_uri不要加埠否則會報引數錯誤,預設支援80,443埠