微信網站應用登陸

1.認證的微信開發者帳號一隻
html

2.審覈經過的網站應用一個api

3.受權域名可用微信

  網站應用微信登陸是基於OAuth2.0協議標準構建的微信OAuth2.0受權登陸系統。受權流程以下:微信開發

  1.第三方發起微信受權登陸請求,微信用戶容許受權第三方應用後,微信會拉起應用或重定向到第三方網站,而且帶上受權臨時票據code參數;ide

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

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

  流程圖:

  

  爲了知足網站定製化的需求,微信提供了兩種方式:ui

構造受權連接

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

  

js微信登陸

    ①在頁面中引入js文件spa

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

    ②在須要登陸的頁面實例化登陸對象

    

    這裏的回調地址與第一種方式同樣,必須是urlencode以後的受權域名下的地址,這裏的二維碼顯示能夠本身設置樣式,只要容器的id是你在實例化的時候設置的就行了

   

(我的測試,比較醜) 

    在上一步咱們拿到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以後就能夠根據不一樣的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

本文分享自微信公衆號 - 業餘草(yyucao)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索