相信開(kāi)發(fā)過(guò)企業(yè)微信應(yīng)用的同行們缨称,剛開(kāi)始都會(huì)疑惑企業(yè)微信的身份驗(yàn)證模塊下的兩個(gè)模式:
- 網(wǎng)頁(yè)授權(quán)登錄
- 掃碼授權(quán)登錄
分別講一下各自的流程
網(wǎng)頁(yè)授權(quán)登錄
用戶(hù)點(diǎn)擊在企業(yè)微信終端(包括PC端和移動(dòng)端)應(yīng)用里的的URL(該URL形如:https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&agentid=AGENTID&state=STATE#wechat_redirect
)粒督,該鏈接會(huì)被企業(yè)微信官方后臺(tái)解析并校驗(yàn),如果通過(guò)了覆积,終端會(huì)跳轉(zhuǎn)到上面URL里的REDIRECT_URI
并帶上一個(gè)code,企業(yè)微信應(yīng)用可以根據(jù)這個(gè)code換取用戶(hù)的userid和user_ticket(前端或后端都可以實(shí)現(xiàn),只要能發(fā)起https請(qǐng)求就可以)支示,根據(jù)userid或user_ticket獲取用戶(hù)的信息,兩者的區(qū)別是獲取的用戶(hù)信息層次不同(基本信息鄙才、敏感信息)颂鸿。
掃碼授權(quán)登錄
用戶(hù)在任何平臺(tái)的瀏覽器上掃二維碼,并在手機(jī)上確認(rèn)授權(quán)攒庵,經(jīng)過(guò)企業(yè)微信官方后臺(tái)解析并校驗(yàn)嘴纺,如果通過(guò)了,終端會(huì)跳轉(zhuǎn)到一個(gè)URL并帶上一個(gè)code浓冒,接下來(lái)就跟網(wǎng)頁(yè)授權(quán)登錄差不多了栽渴。
二維碼有兩種方式設(shè)置,一種是跳轉(zhuǎn)到另一個(gè)網(wǎng)頁(yè)裆蒸,這個(gè)網(wǎng)頁(yè)上有二維碼熔萧;另一種是二維碼是附在你的網(wǎng)頁(yè)上的,不需要跳轉(zhuǎn)到另一個(gè)網(wǎng)頁(yè)僚祷。
兩種模式度可以抽象為如下幾個(gè)步驟:
- 請(qǐng)求code佛致,兩者是不一樣的,一個(gè)是通過(guò)點(diǎn)擊終端URL辙谜,一個(gè)是通過(guò)在掃瀏覽器上的二維碼
- 獲取用戶(hù)信息俺榆,兩者是一樣的,都是根據(jù)code通過(guò)https請(qǐng)求去獲取用戶(hù)的信息
這兩種模式的一些其他區(qū)別如下:
網(wǎng)頁(yè)授權(quán) | 掃碼授權(quán) | |
---|---|---|
場(chǎng)景 | 指企業(yè)微信終端(包括PC端和移動(dòng)端) | 任何平臺(tái)的瀏覽器上都可以 |
前置操作 | 不需要 | 需要“設(shè)置授權(quán)回調(diào)域” |
對(duì)第三方服務(wù)商的支持 | 支持 | 不支持 |