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

web端網(wǎng)站開發(fā)接入第三方微信登錄

admin
2024年12月17日 12:54 本文熱度 916

一、微信開放平臺申請網(wǎng)站應(yīng)用

1、微信開放平臺[1]中注冊開發(fā)者賬號,在管理中心選擇網(wǎng)站應(yīng)用,創(chuàng)建相關(guān)應(yīng)用。按照要求準(zhǔn)備好資料,提交審核即可,一般2天左右就會有審核結(jié)果。

注意:

  • 基本信息-應(yīng)用官網(wǎng):填寫公司官網(wǎng)即可;
  • 開發(fā)信息-授權(quán)回調(diào)域:只能填寫一個回調(diào)域,無需帶上http或者h(yuǎn)ttps,這個配置十分重要,用戶掃碼成功后,會跳轉(zhuǎn)到這個回調(diào)域;



2、應(yīng)用審核通過后,會顯示相關(guān)詳情信息,在后面的接入流程中會使用;

注意:

  • AppSecret信息不是明文的,點擊重置進(jìn)行獲取,需妥善保存,一般不要放在前端項目中。
  • 微信登錄的接口是已獲得的狀態(tài),說明開發(fā)者可以使用登錄相關(guān)接口了;
  • 開發(fā)信息-授權(quán)回調(diào)域可以直接進(jìn)行修改,無需審核;

?


二、微信登錄對接

開放平臺-微信登錄功能[2]有相關(guān)的文檔說明,詳細(xì)地介紹了如何接入微信登錄,以下為相關(guān)拆解步驟。

整體流程:

  1. 第三方發(fā)起微信授權(quán)登錄請求,微信用戶允許授權(quán)第三方應(yīng)用后,微信會拉起應(yīng)用或重定向到第三方網(wǎng)站,并且?guī)鲜跈?quán)臨時票據(jù)code參數(shù);
  2. 通過code參數(shù)加上AppID和AppSecret等,通過API換取access_token;
  3. 通過access_token進(jìn)行接口調(diào)用,獲取用戶基本數(shù)據(jù)資源或幫助用戶實現(xiàn)基本操作。

獲取access_token時序圖:


1、微信二維碼鏈接

配置鏈接參數(shù),生成完整的微信二維碼鏈接;

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

參數(shù)說明:

appid:必填,應(yīng)用唯一標(biāo)識;

redirect_uri:必填,請使用urlEncode[3]對鏈接進(jìn)行處理,建議對回調(diào)域進(jìn)行編碼處理;

response_type:必填,值為code;

scope:必填,網(wǎng)頁應(yīng)用目前僅填寫snsapi_login;

state:選填,用于保持請求和回調(diào)的狀態(tài),授權(quán)請求后原樣帶回給第三方。該參數(shù)可用于防止csrf攻擊(跨站請求偽造攻擊),建議第三方帶上該參數(shù),可設(shè)置為簡單的隨機數(shù)加session進(jìn)行校驗;

lang:選填,界面語言,支持cn(中文簡體)與en(英文),默認(rèn)為cn;

若提示“該鏈接無法訪問”,請檢查參數(shù)是否填寫錯誤;

redirect_uri 參數(shù)錯誤:

原因分析:

  1. 回調(diào)地址不能填入端口號+名稱,eg: open.weixin.qq.com:8080/index;[4]
  2. 回調(diào)地址只能寫該域名下的地址;
  3. 回調(diào)地址必須是全路徑,最好進(jìn)行轉(zhuǎn)碼操作;

2、獲取code

用戶掃碼、授權(quán)后,會將頁面重定向到回調(diào)域(redirect_uri),并且?guī)蟘ode和state參數(shù):redirect_uri?code=CODE&state=STATE,比如:

https://open.weixin.qq.com?code=CODE&state=STATE

移動端微信掃碼成功后,會顯示授權(quán)頁面;

授權(quán)成功后,微信會提示登錄通知;

注意:若用戶禁止授權(quán),則不會發(fā)生重定向,可在當(dāng)前頁面重新獲取微信二維碼;

3、通過code獲取access_token、openid、unionid

該接口通過code等相關(guān)參數(shù)可獲取access_token,為了安全考慮,開發(fā)者請勿將access_token返回給前端,需要開發(fā)者保存在后臺,訪問微信api的請求由后臺發(fā)起;所以該接口是提供給后端調(diào)用的,前端調(diào)用無效。

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

參數(shù)說明:

appid:必填,應(yīng)用唯一標(biāo)識;

secret:必填,在微信開放平臺提交應(yīng)用審核通過后獲得;

code:必填,上面獲取的code參數(shù);

grant_type:必填,值為authorization_code;

返回說明:

access_token:接口調(diào)用憑證

expires_in:access_token接口調(diào)用憑證超時時間,單位(秒)

refresh_token:用戶刷新access_token

openid:授權(quán)用戶唯一標(biāo)識

scope:用戶授權(quán)的作用域,使用逗號(,)分隔

unionid:當(dāng)且僅當(dāng)該網(wǎng)站應(yīng)用已獲得該用戶的userinfo授權(quán)時,才會出現(xiàn)該字段。


"access_token":"ACCESS_TOKEN"
"expires_in":7200
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID"
"scope":"SCOPE",
"unionid""o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

4、通過access_token調(diào)用接口

獲取access_token后,進(jìn)行接口調(diào)用,有以下前提:

  1. access_token有效且未超時;
  2. 微信用戶已授權(quán)給第三方應(yīng)用賬號相應(yīng)接口作用域(scope)。

可通過對應(yīng)的接口獲取登錄信息、用戶個人信息等。


5、前后端對接

完成上面的流程后,后端會獲取到用戶相關(guān)的登錄信息、個人信息等,前端可以在上面填入的回調(diào)頁面中,調(diào)用后端的接口獲取相關(guān)數(shù)據(jù),進(jìn)行相關(guān)邏輯處理。

以上就是web端接入第三方微信的流程。


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

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
中文字幕日本有码视频在线 | 亚洲国产专区校园欧美 | 伊人久久大香线蕉亚洲五月天 | 亚洲精品欧美在线综合国 | 亚洲国产91一区二区 | 一本大道在线播放欧美 |