超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

網(wǎng)站應(yīng)用接入微信登錄方案解析

admin
2025年1月14日 16:44 本文熱度 214

前言

"每一個(gè)不曾起舞的日子,都是對(duì)生命的辜負(fù)。" —— 尼采

網(wǎng)站接入微信授權(quán)方案解析

微信內(nèi)授權(quán)實(shí)現(xiàn)方案&pc端使用微信授權(quán)實(shí)現(xiàn)方案

微信內(nèi)授權(quán)實(shí)現(xiàn)方案

三方平臺(tái)代公眾號(hào)發(fā)起授權(quán)

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE&component_appid=ComponentAPPID#wechat_redirect

普通公眾號(hào)授權(quán)

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

參數(shù)說(shuō)明:

參數(shù)是否必須說(shuō)明
appid公眾號(hào)的唯一標(biāo)識(shí)
redirect_uri授權(quán)后重定向的回調(diào)鏈接地址, 請(qǐng)使用 urlEncode 對(duì)鏈接進(jìn)行處理
response_type返回類(lèi)型,請(qǐng)?zhí)顚?xiě)code
scope應(yīng)用授權(quán)作用域,snsapi_base (不彈出授權(quán)頁(yè)面,直接跳轉(zhuǎn),只能獲取用戶(hù)openid),snsapi_userinfo (彈出授權(quán)頁(yè)面,可通過(guò)openid拿到昵稱(chēng)、性別、所在地。并且, 即使在未關(guān)注的情況下,只要用戶(hù)授權(quán),也能獲取其信息 )
state重定向后會(huì)帶上state參數(shù),開(kāi)發(fā)者可以填寫(xiě)a-zA-Z0-9的參數(shù)值,最多128字節(jié)
#wechat_redirect無(wú)論直接打開(kāi)還是做頁(yè)面302重定向時(shí)候,必須帶此參數(shù)
forcePopup強(qiáng)制此次授權(quán)需要用戶(hù)彈窗確認(rèn);默認(rèn)為false;
ComponentAPPID三方平臺(tái)id(三方平臺(tái)代公眾號(hào)授權(quán)時(shí)此參數(shù)必須)

開(kāi)發(fā)接入流程

  1. 微信公眾號(hào)配置授權(quán)域名(根據(jù)接入方式不同獲取不同配置入口不同)
    公眾號(hào):「設(shè)置與開(kāi)發(fā)」-「功能設(shè)置」-「網(wǎng)頁(yè)授權(quán)域名」
    三方平臺(tái):「三方平臺(tái)應(yīng)用列表」- 「應(yīng)用詳情」 -「開(kāi)發(fā)資料」-「公眾號(hào)開(kāi)發(fā)域名」

  1. 準(zhǔn)備回調(diào)中間頁(yè),微信授權(quán)成功會(huì)攜帶參數(shù)跳轉(zhuǎn)中間頁(yè)

  2. 處理接收微信返回code,用于后續(xù)登錄/用戶(hù)信息同步等能力

非微信瀏覽器掃碼授權(quán)方案

1.打開(kāi)鏈接方式(官方提供一)

通過(guò)添加跳轉(zhuǎn)事件,將參數(shù)替換跳轉(zhuǎn)至登錄頁(yè)--微信內(nèi)掃一掃功能--前端接收通知并登錄

// 添加跳轉(zhuǎn)鏈接地址

https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

參數(shù)是否必須說(shuō)明
appid應(yīng)用唯一標(biāo)識(shí)
redirect_uri請(qǐng)使用urlEncode對(duì)鏈接進(jìn)行處理
response_type填code
scope應(yīng)用授權(quán)作用域,擁有多個(gè)作用域用逗號(hào)(,)分隔,網(wǎng)頁(yè)應(yīng)用目前僅填寫(xiě)snsapi_login
state用于保持請(qǐng)求和回調(diào)的狀態(tài),授權(quán)請(qǐng)求后原樣帶回給第三方。該參數(shù)可用于防止csrf攻擊(跨站請(qǐng)求偽造攻擊),建議第三方帶上該參數(shù),可設(shè)置為簡(jiǎn)單的隨機(jī)數(shù)加session進(jìn)行校驗(yàn)

2.使用微信chat-login方式(官方提供二)

  1. 需準(zhǔn)備三方平臺(tái)賬號(hào)

  2. 如下:(需在項(xiàng)目注入wxlogin.js文件)

  3. 流程圖同上(無(wú)需跳出當(dāng)前項(xiàng)目)

// 網(wǎng)頁(yè)應(yīng)用需注入wxlogin.js文件

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


// 網(wǎng)站應(yīng)用內(nèi)設(shè)置 設(shè)置二維碼容器

<div id="wechat_container"></div>


// 登錄二維碼

const login = new WxLogin({

  id: 'wechat_container',

  appid: APPID, // 根據(jù)實(shí)際情況填寫(xiě)

  scope: 'snsapi_login',

  redirect_uri: '回調(diào)地址',

  state: new Date().getTime() + '',

  href: '' // 二維碼樣式重置,需轉(zhuǎn)換base64

})

參數(shù)說(shuō)明

參數(shù)是否必須說(shuō)明
self_redirecttrue:手機(jī)點(diǎn)擊確認(rèn)登錄后可以在 iframe 內(nèi)跳轉(zhuǎn)到 redirect_uri,false:手機(jī)點(diǎn)擊確認(rèn)登錄后可以在 top window 跳轉(zhuǎn)到 redirect_uri。默認(rèn)為 false。
id第三方頁(yè)面顯示二維碼的容器id
appid應(yīng)用唯一標(biāo)識(shí),在微信開(kāi)放平臺(tái)提交應(yīng)用審核通過(guò)后獲得
scope應(yīng)用授權(quán)作用域,擁有多個(gè)作用域用逗號(hào)(,)分隔,網(wǎng)頁(yè)應(yīng)用目前僅填寫(xiě)snsapi_login即可
redirect_uri重定向地址,需要進(jìn)行UrlEncode
state用于保持請(qǐng)求和回調(diào)的狀態(tài),授權(quán)請(qǐng)求后原樣帶回給第三方。該參數(shù)可用于防止csrf攻擊(跨站請(qǐng)求偽造攻擊),建議第三方帶上該參數(shù),可設(shè)置為簡(jiǎn)單的隨機(jī)數(shù)加session進(jìn)行校驗(yàn)
style提供"black"、"white"可選,默認(rèn)為黑色文字描述。詳見(jiàn)文檔底部FAQ
href自定義樣式鏈接,第三方可根據(jù)實(shí)際需求覆蓋默認(rèn)樣式。

3.使用微信公眾號(hào)授權(quán)方式

  1. 準(zhǔn)備一個(gè)h5頁(yè)面,作為中間授權(quán)使用(?必須使用微信環(huán)境打開(kāi))

  2. pc端制作登錄二維碼(?二維碼地址指向h5授權(quán)頁(yè)面)

  3. pc端接收登錄通知(?確認(rèn)用戶(hù)是否同意微信授權(quán))

  4. 已授權(quán)/未授權(quán)處理對(duì)應(yīng)登錄流程

注:授權(quán)頁(yè)面需攜帶用戶(hù)標(biāo)識(shí),會(huì)話(huà)id等參數(shù)用于登錄等后續(xù)操作

以上方案區(qū)別

相同點(diǎn):以上方案均需借助三方平臺(tái)實(shí)現(xiàn),都已實(shí)現(xiàn)解決掃碼登錄
不同點(diǎn):1需跳出本頁(yè)面,部分業(yè)務(wù)場(chǎng)景不滿(mǎn)足,2,3方案為內(nèi)置二維碼形式,無(wú)需跳出頁(yè)面在本頁(yè)面即可完成登錄邏輯,3方案主要為公司內(nèi)業(yè)務(wù)場(chǎng)景使用(多租戶(hù)模式)

官方文檔參考地址:

公眾號(hào)網(wǎng)頁(yè)授權(quán)地址:developers.weixin.qq.com/doc/offiacc…
三方平臺(tái)代公眾號(hào)授權(quán)地址: developers.weixin.qq.com/doc/oplatfo…
qq登錄接入?yún)⒖嫉刂罚?wiki.connect.qq.com/%e6%94%be%e…


作者:庫(kù)課科技前端
鏈接:https://juejin.cn/post/7352831525678039055
來(lái)源:稀土掘金
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

該文章在 2025/1/15 12:54:47 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved