Linux環(huán)境一鍵部署>>
Linux環(huán)境一鍵部署(需有登錄經(jīng)驗),無需擔(dān)心安裝?。?!
微信掃描二維碼登錄網(wǎng)站網(wǎng)站應(yīng)用微信登錄開發(fā)指南
微信掃碼登錄網(wǎng)站是微信開放平臺下網(wǎng)站應(yīng)用的接口實現(xiàn)的功能。微信開放平臺的網(wǎng)址是
準(zhǔn)備
網(wǎng)站應(yīng)用微信登錄是基于.0協(xié)議標(biāo)準(zhǔn)構(gòu)建的微信.0授權(quán)登錄系統(tǒng)。
在進(jìn)行.0授權(quán)登錄訪問前,在微信開放平臺注冊一個開發(fā)者賬號,有一個批準(zhǔn)的網(wǎng)站申請,并獲取對應(yīng)的AppID和AppID。申請微信登錄并通過審核后,即可開始接入流程。
授權(quán)流程說明
.0 授權(quán)登錄允許微信用戶使用微信 ID 安全地登錄第三方應(yīng)用程序或網(wǎng)站。微信用戶授權(quán)登錄第三方應(yīng)用訪問微信.0后,第三方可以獲取用戶的接口調(diào)用憑證( )??梢哉{(diào)用微信開放平臺的授權(quán)關(guān)系接口,獲取微信用戶的基本開放信息,幫助用戶實現(xiàn)基本的開放功能。
.0授權(quán)登錄目前支持該模式,適用于擁有端應(yīng)用授權(quán)。該模式的總體流程是:
1. 第三方發(fā)起微信授權(quán)登錄請求。微信用戶允許第三方應(yīng)用授權(quán)后頹廢的城市剪影筆刷,微信將使用授權(quán)臨時票的code參數(shù)啟動應(yīng)用或重定向到第三方網(wǎng)站;2.通過代碼參數(shù)加上AppID等通過API進(jìn)行交換;3. 通過接口調(diào)用,可以獲取用戶的基本數(shù)據(jù)資源或幫助用戶實現(xiàn)基本操作。
獲取時序圖:
第 1 步:請求代碼
在第三方使用網(wǎng)站應(yīng)用授權(quán)登錄之前,請注意已經(jīng)獲取了相應(yīng)的網(wǎng)頁授權(quán)范圍(scope=)。您可以在PC端打開以下鏈接:
如果提示“此鏈接無法訪問”,請檢查參數(shù)是否填寫錯誤,如域名與審核時填寫的授權(quán)域名不一致或范圍無效等。
參數(shù)說明
是否必須指定參數(shù)
應(yīng)用程序
是的
應(yīng)用程序唯一 ID
是的
重定向地址,需要做
是的
填寫代碼
范圍
是的
申請授權(quán)范圍。有多個用逗號 (,) 分隔的范圍。目前只能填寫Web應(yīng)用程序。
狀態(tài)
不
用于維護(hù)請求和回調(diào)的狀態(tài),請求被授權(quán)后,原樣帶回給第三方。該參數(shù)可用于防止csrf攻擊(跨站請求偽造攻擊)。建議第三方自帶這個參數(shù),可以設(shè)置成簡單的隨機(jī)數(shù)進(jìn)行驗證。
返回說明
用戶允許授權(quán)后,會重定向到帶有code和state參數(shù)的URL
?代碼=代碼&狀態(tài)=狀態(tài)
如果用戶禁止授權(quán),重定向后不帶code參數(shù),只帶state參數(shù)
?狀態(tài)=狀態(tài)
請求示例
登錄一號店網(wǎng)站申請
打開后,一號店會生成狀態(tài)參數(shù),跳轉(zhuǎn)到
微信用戶用微信掃描二維碼確認(rèn)登錄后,PC端會跳轉(zhuǎn)到
為了滿足網(wǎng)站更多的定制化需求微信狼王授權(quán)碼注冊機(jī),我們還提供了第二種獲取碼的方式,支持網(wǎng)站將微信登錄二維碼嵌入到自己的頁面中,用戶使用微信掃碼授權(quán)并通過 JS 將代碼返回給網(wǎng)站。
JS微信登錄的主要目的:網(wǎng)站希望用戶可以在網(wǎng)站內(nèi)完成登錄,無需跳轉(zhuǎn)到微信域登錄再返回,提高微信登錄的流暢度和成功率。網(wǎng)站嵌入二維碼微信登錄JS實現(xiàn)方法:
Step 1:在頁面中引入如下JS文件(支持https): Step 2:在需要用微信登錄的地方實例化如下JS對象:
var obj = new WxLogin({
id:"login_container",
appid: "",
scope: "",
redirect_uri: "",
state: "",
style: "",
href: ""
});
參數(shù)說明
是否必須指定參數(shù)
ID
是的
第三方頁面顯示二維碼的容器id
應(yīng)用程序
是的
申請的唯一標(biāo)識,申請?zhí)峤徊⑼ㄟ^微信開放平臺審核后獲得
范圍
是的
申請授權(quán)范圍。有多個用逗號 (,) 分隔的范圍。目前只能填寫Web應(yīng)用程序。
是的
重定向地址,需要做
狀態(tài)
不
用于維護(hù)請求和回調(diào)的狀態(tài),請求被授權(quán)后,原樣帶回給第三方。該參數(shù)可用于防止csrf攻擊(跨站請求偽造攻擊)。建議第三方自帶這個參數(shù),可以設(shè)置成簡單的隨機(jī)數(shù)進(jìn)行驗證。
風(fēng)格
不
提供“黑色”、“白色”可選,默認(rèn)為黑色文字說明。請參閱文檔底部的常見問題解答
鏈接
不
自定義樣式鏈接,第三方可根據(jù)實際需要覆蓋默認(rèn)樣式。請參閱文檔底部的常見問題解答
第 2 步:通過代碼
通過代碼獲取
參數(shù)說明
是否必須指定參數(shù)
應(yīng)用程序
是的
申請的唯一標(biāo)識,申請?zhí)峤徊⑼ㄟ^微信開放平臺審核后獲得
是的
申請?zhí)峤晃⑿砰_放平臺審核通過后獲取申請密鑰
代碼
是的
填寫第一步得到的code參數(shù)
是的
充滿
返回說明
正確返回:
{
"":"",
"":7200,
"":"",
"":"",
“范圍”:“范圍”
}
參數(shù)說明
API 調(diào)用憑證
接口調(diào)用憑證超時時間,單位(秒)
用戶刷新
授權(quán)用戶唯一 ID
范圍
用戶授權(quán)范圍,以逗號 (,) 分隔
錯誤返回示例:
{"":40029,"":"代碼"}
刷新過期日期
是調(diào)用授權(quán)關(guān)系接口的調(diào)用憑證。由于有效期較短(目前為2小時),超時后可以刷新。有兩種類型的刷新結(jié)果:
1. 如果已經(jīng)超時,進(jìn)度會得到一個新的,新的超時;2. 如果還沒有超時,進(jìn)度不會改變,但是會刷新超時,相當(dāng)于續(xù)約。
有效期較長(30天),到期后需要用戶重新授權(quán)。
請求方法
獲取第一步的代碼后,請求以下鏈接繼續(xù):
參數(shù)說明
是否必須指定參數(shù)
應(yīng)用程序
是的
應(yīng)用程序唯一 ID
是的
充滿
是的
填寫得到的參數(shù)
返回說明
正確返回:
{
"":"",
"":7200,
"":"",
"":"",
“范圍”:“范圍”
}
參數(shù)說明
API 調(diào)用憑證
接口調(diào)用憑證超時時間,單位(秒)
用戶刷新
授權(quán)用戶唯一 ID
范圍
用戶授權(quán)范圍微信狼王授權(quán)碼注冊機(jī),以逗號 (,) 分隔
錯誤返回示例:
{"":40030,"":""}
第三步:通過調(diào)用接口
獲取后,在滿足以下前提條件下進(jìn)行接口調(diào)用:
1. 有效且未超時;2.微信用戶已授權(quán)第三方應(yīng)用賬號對應(yīng)的接口范圍(scope)。
對于接口作用域(scope),可以調(diào)用的接口如下:
授權(quán)范圍(scope)接口接口說明
/sns//
代碼交換,授權(quán)范圍
/sns//
刷新或續(xù)訂
/sns/auth
檢查有效性
/sns/
獲取用戶個人信息
其中,屬于基礎(chǔ)接口。如果應(yīng)用程序已經(jīng)擁有其他范圍權(quán)限簡單的星云筆刷,則默認(rèn)擁有該權(quán)限。使用允許移動網(wǎng)頁授權(quán)的動作繞過跳轉(zhuǎn)授權(quán)登錄頁面請求用戶授權(quán),直接用授權(quán)臨時票(code)跳轉(zhuǎn)到第三方網(wǎng)頁,但會使得用戶授權(quán)范圍(范圍),因此無法獲取需要用戶授權(quán)的數(shù)據(jù)和基本功能。
API調(diào)用方式請參考《微信授權(quán)關(guān)系A(chǔ)PI調(diào)用指南》
FAQ 1. 什么是授權(quán)臨時票(代碼)?
A:第三方通過代碼獲取代碼時需要使用。代碼的超時時間為 10 分鐘。代碼在失效前只能成功交換一次。臨時一次性密碼保證了微信授權(quán)登錄的安全性。第三方可以通過使用 https 和 state 參數(shù)進(jìn)一步加強(qiáng)自己授權(quán)登錄的安全性。
2. 什么是授權(quán)范圍?
答:授權(quán)范圍(scope)代表用戶授權(quán)給第三方的接口權(quán)限。第三方應(yīng)用需要向微信開放平臺申請相應(yīng)范圍的使用權(quán)限后,使用文檔中描述的方法允許用戶授權(quán)。對應(yīng)后才能調(diào)用該接口。
3. 網(wǎng)站內(nèi)嵌微信登錄JS代碼的JS代碼中style字段的作用是什么?
答:第三方頁面的顏色樣式可能是淺色調(diào)也可能是深色調(diào)。如果第三方頁面為淺色背景,則需在樣式字段中提供“黑色”值(或不提供,黑色為默認(rèn)值),對應(yīng)的微信登錄文字樣式為黑色。相關(guān)效果如下:
如果提供了“white”的值,則對應(yīng)的文本描述將顯示為白色PerfectlyClear Complete(智能調(diào)色磨皮插件),適合深色背景。相關(guān)效果如下:
4.網(wǎng)站嵌入二維碼微信登錄JS代碼中href字段的作用?
A:如果第三方覺得微信團(tuán)隊提供的默認(rèn)樣式與自己的頁面樣式不匹配,可以提供自己的樣式文件覆蓋默認(rèn)樣式。比如第三方認(rèn)為默認(rèn)二維碼太大,可以提供相關(guān)的CSS樣式文件,將鏈接地址填入href字段
. . {寬度:200px;}
..title {:無;}
..info {寬度:200px;}
。{:沒有任何}
. . {文本對齊:;}
相關(guān)效果如下:
轉(zhuǎn)載于: