微信sdk 公眾號 微信支付 NFC 坑&筆記

Merlo發表於2019-01-30

微信公眾號開發的環境配置

準備工作 & 微信公眾平臺配置 & 環境配置

微信的登入流程(即授權機制)遵循OAuth2.0標準,實現過程大致是:前端通過在微信內呼叫微信的介面或者域名訪問等方式,獲取到微信伺服器計算出的code(這個過程需要使用者授權同意),客戶端用這個code跟服務端換區登入憑證,當然這個code到了服務端是需要經過驗證的,因為服務端也需要呼叫微信的介面來通過appsecret等資訊的校驗。

分為網頁授權獲取code和靜默授權,以上兩種機制。

1,微信網頁授權是通過OAuth2.0機制實現的,在使用者授權給公眾號後,公眾號可以獲取到一個網頁授權特有的介面呼叫憑證(網頁授權access_token),通過網頁授權access_token可以進行授權後介面呼叫,如獲取使用者基本資訊
2、其他微信介面,需要通過基礎支援中的“獲取access_token”介面來獲取到的普通access_token呼叫。

基礎操作需要配置的域名有兩個地方 JS介面安全域名網頁授權域名

配置路徑: 微信公眾平臺 > 公眾號設定 > 功能設定
JS介面安全域名: 使用者可以在設定的此域名下呼叫微信開放的JS服務介面
網頁授權域名:使用者授權登入後的回撥地址必須要在此域名下

因為公眾平臺的域名配置需經過微信的後臺驗證,配置裡的域名都要真實可用,所以開發過程中,可以申請測試公眾號開發,測試公眾號裡的各個域名配置不經過微信後臺驗證,可以配置成ip地址,更加方便開發。>向微信申請測試號<

下載一個微信開發者工具,開發小程式的那個就可以了,可以選擇公眾號專案,然後就跟瀏覽器很像。
開發者工具的頂部有一個輸入框,輸入你想除錯的網頁地址,然後開發者工具就會模擬這個網頁在微信裡開啟之後的環境。

  • 如果你想用你的正式公眾號資訊(appID,appSecret等)來除錯你原生程式碼裡登入之類的功能,這時候直接更改配置的回撥地址為本地或ip,然後按照官方的登入流程(使用者授權後,會攜帶code跳轉到配置的回撥地址上去)是會報錯的:說你的redirect_uri錯誤;所以回撥地址是不能改的, 這時你可以修改系統本地的hosts檔案,將你正式公眾號裡配置的正式域名的訪問 都指向你的本地127.0.0.1,然後在本地用預設埠80來啟用一個服務,這時候就可以成功回撥回你的本地頁面。

例如:mac系統下 hosts檔案的更改:

# 需要你安裝vim或者vi等工具 然後直接更改檔案即可
sudo vim /etc/hosts
複製程式碼
# 直接在最下方新增需要的配置,比如將www.baidu.com 指向本地
127.0.0.1 www.baidu.com
複製程式碼
  • 但是有一點麻煩的是如果你用的是mac系統,非root使用者是無法使用1024以下的埠的,這時候你就需要埠轉發,問題是macOs系統在10.14之後的版本跟之前版本的操作方法是不同的,所以不如直接起個nginx代理來的方便。
# 預設的nginx配置資訊地址
sudo vim /usr/local/etc/nginx/nginx.conf
複製程式碼
# 新增以下配置
server {
  listen 80;
  server_name localhost;
  
  location / {
    prosy_pass http://127.0.0.1:1024;
  }
}
複製程式碼

待續。。。

相關文章