當前位置:
首頁 > 最新 > 你想學會一項能上天的技能嗎——網站應用

你想學會一項能上天的技能嗎——網站應用

微信登錄的推出,是繼微信支付、微信小店後,微信連接一切能力的又一次升級——它將可以和無數個第三方應用連接,成為它們服務和數據的統一展示平台。

微信終於開始連接它之外的互聯網世界,但更準確的說,連接它之外的商業互聯網世界。

微信登錄功能是什麼?

微信登錄是指移動應用和網站應用,可以通過接入該功能,讓用戶可以通過微信帳號來登錄,降低註冊門檻和用戶流失率。

此外,還會在經過用戶同意後,將用戶基本信息(頭像、昵稱、性別、地區、語言)提供給開發者。

作為開發者,此時、盡情發揮

1.準備工作

在進行微信OAuth2.在進行微信OAuth2.0授權登錄接入之前,在微信開放平台註冊開發者帳號,並擁有一個已審核通過的網站應用,並獲得相應的AppID和AppSecret,申請微信登錄且通過審核後,可開始接入流程。(需要成熟的網站在微信平台進行申請)

2.授權流程說明

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

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

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

3.獲取access_token時序圖:

第一步:請求CODE

第三方使用網站應用授權登錄前請注意已獲取相應網頁授權作用域(scope=snsapi_login),則可以通過在PC端打開以下鏈接:

若提示「該鏈接無法訪問」,請檢查參數是否填寫錯誤,如redirect_uri的域名與審核時填寫的授權域名不一致或scope不為snsapi_login。

參數說明

返回說明

用戶允許授權後,將會重定向到redirect_uri的網址上,並且帶上code和state參數

redirect_uri?code=CODE&state=STATE

若用戶禁止授權,則重定向後不會帶上code參數,僅會帶上state參數

redirect_uri?state=STATE

為了滿足網站更定製化的需求,我們還提供了第二種獲取code的方式,支持網站將微信登錄二維碼內嵌到自己頁面中,用戶使用微信掃碼授權後通過JS將code返回給網站。

JS微信登錄主要用途:網站希望用戶在網站內就能完成登錄,無需跳轉到微信域下登錄後再返回,提升微信登錄的流暢性與成功率。 網站內嵌二維碼微信登錄JS實現辦法:

步驟1:在頁面中先引入如下JS文件(支持https):

步驟2:在需要使用微信登錄的地方實例以下JS對象:

id:"login_container",

appid: "",

scope: "",

redirect_uri: "",

state: "",

style: "",

href: ""

});

參數說明

第二步:通過code獲取access_token

通過code獲取access_token

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

參數說明

返回說明

正確的返回:

{

"access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID",

"scope":"SCOPE","unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"}

{"errcode":40029,"errmsg":"invalid code"}錯誤返回樣例:

刷新access_token有效期

access_token是調用授權關係介面的調用憑證,由於access_token有效期(目前為2個小時)較短,當access_token超時後,可以使用refresh_token進行刷新,access_token刷新結果有兩種:

1. 若access_token已超時,那麼進行refresh_token會獲取一個新的access_token,新的超時時間;

2. 若access_token未超時,那麼進行refresh_token不會改變access_token,但超時時間會刷新,相當於續期access_token。

refresh_token擁有較長的有效期(30天),當refresh_token失效的後,需要用戶重新授權。

請求方法

獲取第一步的code後,請求以下鏈接進行refresh_token:

https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

參數說明

返回說明

正確的返回:

{

"access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID",

"scope":"SCOPE"

}

錯誤返回樣例:

{"errcode":40030,"errmsg":"invalid refresh_token"}

第三步:通過access_token調用介面

獲取access_token後,進行介面調用,有以下前提:

1. access_token有效且未超時;

對於介面作用域(scope),能調用的介面有以下:

其中snsapi_base屬於基礎介面,若應用已擁有其它scope許可權,則默認擁有snsapi_base的許可權。使用snsapi_base可以讓移動端網頁授權繞過跳轉授權登錄頁請求用戶授權的動作,直接跳轉第三方網頁帶上授權臨時票據(code),但會使得用戶已授權作用域(scope)僅為snsapi_base,從而導致無法獲取到需要用戶授權才允許獲得的數據和基礎功能。

END

更多精彩技術(MetaShare)

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 麥特賽爾軟體 的精彩文章:

科技——用於現場服務管理的魔法象限17

TAG:麥特賽爾軟體 |

您可能感興趣

科學家發現約會網站是如何工作的,以及是否能找到理想的伴侶
瀏覽「不良網站」時,如果手機正在發熱,那麼你可能幫黑客賺錢了
要研究細胞系,基因?你可能會對這個網站愛不釋手哦
我堅持網站建設,能在網上有所收穫嗎?
能用網頁就別下載 App!這 6 個功能強大的網站,你一定要知道
《GTA5》中的手機都能幹什麼?能不能看視頻,或者開網站?
怎樣在不能直郵中國的網站剁手?
怎樣才能找到一家靠譜的做定製網站的公司?
為什麼很多人寧願花錢看場電影也不買視頻網站會員?看完你也會的
畫不好人體姿勢?可能是你沒有收藏這六個參考網站
唯品會要轉型 不再是你知道的那個特賣網站了
這幾個電影網站,你想看的大片都能找到!
美國智能手機用戶每次訪問零售網站時都會花費更多的錢
有了這些網站,媽媽再也不擔心我學習沒方向了!
有了這些免費網站 看電影再不用發愁!
一個好的威客網站需要具備哪些因素,站長必了解!
相親網站的演算法真的能為我們找到那個 TA 嗎?
這個反人類的智障網站,能成功註冊算我輸……
玩也要玩出名堂來,逛社交網站也要有些收穫,學點穿搭技巧最實用
快來看呀!吸引人的網站需要這樣製作