亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久

建立微信公眾號測試帳號-Java本地服務(wù)

優(yōu)采云 發(fā)布時(shí)間: 2020-08-09 03:56

  這里的重點(diǎn)是頁(yè)面授權回調的域名.

  

  

  這是第一個(gè)坑. 在測試編號中,您可以填寫(xiě)域名ip,甚至不需要填寫(xiě)域名,這極大地方便了測試授權的使用. 回調頁(yè)面表示微信用戶(hù)關(guān)注您的官方賬號. 當他選擇授權登錄時(shí),我們可以調用微信界面來(lái)獲取他的基本微信信息,例如唯一的微信openid,然后返回到我們的頁(yè)面之一,或者這是用于采集用戶(hù)信息的服務(wù). 頁(yè)面或服務(wù)必須在此域名下. 假設我填寫(xiě)了

  例如,如果我想返回頁(yè)面,它可以是:

  ,

  返回服務(wù):

  只要在此域名下,無(wú)論嵌入多少層. 請注意,不能在前面添加https或http前綴.

  在回調域名中,如果您的項目名稱(chēng)由下劃線(xiàn)組成,

  例如,要訪(fǎng)問(wèn)您的項目,請刪除帶下劃線(xiàn)的項目名稱(chēng). 盡管刪除的項目名稱(chēng)只能映射回本地啟動(dòng)服務(wù)器,而不是映射回項目,但這不會(huì )造成傷害.

  好的,這里很多人說(shuō),如果沒(méi)有域名,我該怎么辦,那是第二種材料,一個(gè)可以映射到Intranet的域名.

  我使用的花生殼域名.

  

  

  

  新用戶(hù)可以獲得幾個(gè)免費域名,他們也可以使用這些域名,但是對于我來(lái)說(shuō),測試并購買(mǎi)100個(gè)大洋的.com域名非常方便.

  然后通過(guò)花生殼內部網(wǎng)下載客戶(hù)端

  

  

  

  您擁有的域名將顯示在這里,包括您發(fā)送的域名.

  

  

  隨意編寫(xiě)應用程序名稱(chēng),域名是下屬之一,映射是HTTP80. 內部主機不知道您可以打開(kāi)cmd ip config / all來(lái)查看您的地址. 我的項目從tomact開(kāi)始,使用默認端口8080. 最后,進(jìn)行診斷并在地址欄中鍵入Internet域名,以確保其他人可以訪(fǎng)問(wèn)您的本地項目.

  

  到目前為止,第二種材料已經(jīng)準備好了.

  第三個(gè)是可以運行的項目...這里將不討論. 您可以使用springboot + myb,springMVC,struts2來(lái)構建可以運行的項目. 如果沒(méi)有,請搜索其他博客以快速建立一個(gè)博客,至少您可以輸入一個(gè)servelet. 我只是直接運行公司的項目.

  連接授權界面

  首先編寫(xiě)一個(gè)鏈接: APPID&redirect_uri = l&response_type = code&scope = snsapi_base&state = 123#wechat_redirect

  此鏈接已發(fā)送至微信,表明我要開(kāi)始??看私缑?/p>

  appid: 是測試編號上的appid

  redirect_uri: 我們剛剛在上面填寫(xiě)了,因此這里是在該域名下填寫(xiě)一個(gè)HTML以供回調. 必須添加或在這里,必須!

  scope: 這是指要調用的微信界面,snsapi_base是指用戶(hù)的靜默授權,這是用戶(hù)執行微信授權而沒(méi)有彈出框提示是否進(jìn)行授權的情況,因此該界面獲取的信息較少,您可以查看詳細信息官方技術(shù)文檔.

  狀態(tài): 填寫(xiě)您想要的任何內容.

  我下載了官方的微信調試工具. 如果您按照上述步驟進(jìn)行操作,則您的鏈接將不會(huì )出現代碼錯誤,redirect_uri和其他錯誤.

  

  如您所見(jiàn),在返回的頁(yè)面上,后綴附有代碼. 該代碼將被發(fā)送到微信以交換剛剛登錄的用戶(hù)的信息. 當然,您可以對上述授權鏈接進(jìn)行異步請求,并使用js在頁(yè)面上獲取它. 我是這樣子的

  函數GetQueryString(name)

  {

  var reg = new RegExp(“(^ |&)” + name +“ =([^&] *)(&| $)”);

  var r = window.location.search.substr(1).match(reg);

  if(r!= null)返回unescape(r [2]);返回null;

  }

  調用GetQueryString(code)獲取地址的參數值.

  獲取后,將其發(fā)送到后臺進(jìn)行處理. 有很多提交方法. 異步也是可能的,或者將整個(gè)表單直接連接到其他值并提交到后臺. 根仍然由后臺處理.

  僅使用老式的struts2粘貼密鑰代碼,因此返回String映射以返回到頁(yè)面,如果您是springMVC控制器,請自行更改

  public String juvenileSubsidy() {

//如果是第二次驗證登錄則直接發(fā)送微信的opendid

String openId =getOpenId();

.......//省略各種去到信息以后的service

return "login_jsp";

}

........

private String getOpenId(){

//appid和secret是測試公眾號上的,自行填寫(xiě),別直接copy,

//code是剛剛獲取到的,自行改寫(xiě)參數

String url="https://api.weixin.qq.com/sns/oa"

+ "uth2/access_token?appid="+wxappid+"&"

+ "secret="+appsecret+"&code="+wxcode+""

+ "&grant_type=authorization_code";

String openId="";

try {

URL getUrl=new URL(url);

HttpURLConnection http=(HttpURLConnection)getUrl.openConnection();

http.setRequestMethod("GET");

http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

http.setDoOutput(true);

http.setDoInput(true);

http.connect();

InputStream is = http.getInputStream();

int size = is.available();

byte[] b = new byte[size];

is.read(b);

String message = new String(b, "UTF-8");

JSONObject json = JSONObject.parseObject(message);

openId=json.get("openid").toString();

} catch (Exception e) {

System.out.println(e.getMessage());

}

return openId;

}

  當然,許多博客文章都是關(guān)于如何封裝地址參數名稱(chēng)的,以便以后可以調用. 一開(kāi)始,我寫(xiě)得很粗糙以顯示效果. 您可以在將來(lái)輕松封裝它,甚至可以使用xml讀取配置信息. 我的私有方法只是返回我需要的String openid. 您可以選擇返回對象,或檢查正式文檔,更改原創(chuàng )范圍,非靜默授權可以獲取更多用戶(hù)信息.

  接下來(lái)是調試觀(guān)察.

  

  {"access_token":"15_0D9_XTsx2YdwoD5KPd6WHAEc47xLqy4uuQAb06irOd5UgOnzwW3zPRdhMXinpJ7ucvkW3D7coema7QAdA",

"expires_in":7200,

"refresh_token":"15_cz_GGe-k41d_YVVgmrFvQBUvF_LuyuNSB2PTq8YWXHLz0l7Vg8hJnBWjGFMNhTT2NRFqqRYT5gSofww",

"openid":"o-MN1B0FGR1JV398vbSPNZ70xa424",

"scope":"snsapi_base"}

  以上是成功發(fā)送到微信界面的json對象. 我叫snsapi_base,所以我只能返回此信息. 這些令牌每次都會(huì )刷新,并且這些密鑰也被微信用于驗證服務(wù)器的重要數據,但是在這里它們是無(wú)用的. 我得到了所需的openid.

  通過(guò)這種方式,獲得了微信登錄官方賬號上唯一識別的ID,并可以通過(guò)該ID實(shí)現業(yè)務(wù)邏輯. 同時(shí),可以在本地測試官方帳戶(hù)服務(wù).

  對于本文開(kāi)頭提到的接口配置信息,此處不需要使用它. 這要求后端發(fā)送令牌進(jìn)行驗證.

  最后,您可以將此嬰兒鏈接放在官方帳戶(hù)的自定義菜單中. 這就是所謂的用戶(hù)登錄授權.

  

  當然,這是測試帳戶(hù)授權. 正式啟動(dòng)后,它將替換為注冊域名,appid被替換為官方官方帳戶(hù)的ID,其余部分保持不變.

  到目前為止,官方帳戶(hù)的靜默授權已完成!

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久