微信網站應用登錄


一、准備工作

1.認證的微信開發者賬號一只

2.審核通過的網站應用一個

3.授權域名可用

二、微信登錄流程

  網站應用微信登錄是基於OAuth2.0協議標准構建的微信OAuth2.0授權登錄系統。授權流程如下:

  1.第三方發起微信授權登錄請求,微信用戶允許授權第三方應用后,微信會拉起應用或重定向到第三方網站,並且帶上授權臨時票據code參數;

  2.通過code參數加上AppID和AppSecret等,通過API換取access_token;

  3.通過access_token進行接口調用,獲取用戶基本數據資源或幫助用戶實現基本操作。

  流程圖:

  

三、構造授權頁面,請求code

  為了滿足網站定制化的需求,微信提供了兩種方式:

  1.構造授權鏈接

  

  其中各個參數,微信開放平台里面有很詳細的解釋,這里注意的一點是回調地址必須是在回調域名內,並且urlencode之后才可以正確使用,成功后會攜帶state和code參數跳到回調頁面。

  

  2.js微信登錄

    ①在頁面中引入js文件

    <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>

    ②在需要登錄的頁面實例化登錄對象

    

    這里的回調地址與第一種方式一樣,必須是urlencode之后的授權域名下的地址,這里的二維碼顯示可以自己設置樣式,只要容器的id是你在實例化的時候設置的就好了

   

 

(個人測試,比較丑) 

四、獲取access_token

    在上一步我們拿到code之后,就可以通過code來獲取這個應用的access_token了。

  

 

  

  access_token的有效期是7200秒,當這個token超時后,我們可以使用refresh_token來進行刷新獲取新的access_token。refresh_token擁有較長的有效期(30天),當refresh_token失效的后,需要用戶重新授權。

  請求鏈接如下:

  

  返回結果:

  

  在我們獲取到access_token的同時,我們同時也獲取到了用戶的openid和unionid。這個openid和uniond是對於微信開發平台網站應用的openid,不是對於公眾號的openid,與公眾號毫無關聯。union則是多個微信網站應用之間的關聯。

五、根據access_token調用接口

  在我們獲取到access_token之后就可以根據不同的scope權限調用接口了,scope權限區分如下:

  

  大家可以在構造授權的時候自行根據需要填寫授權,這里並沒有寫我們構造授權鏈接是填寫的“snsapi_login”,但是我個人測試發現可以獲取access_token以及獲取個人信息,這個"snsapi_login"應該是包含了上述兩種scope的。

  主要能調用的幾個接口如下:

  ①獲取access_token

  ②刷新(續期)access_token

  ③獲取用戶個人信息(unionid機制)

  

 

  這是獲取用戶個人信息的接口調用方式,access_token和openid都是來自用code換取access_token之后得到的數據,返回結果如下

  

六、參考鏈接

微信網站應用微信登錄開發指南:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN

 

微信網站應用授權后接口調用:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316518&token=&lang=zh_CN

 

 

  

 


免責聲明!

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



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