企業微信開發——身份驗證模組

weixin_33976072發表於2018-04-24

相信開發過企業微信應用的同行們,剛開始都會疑惑企業微信的身份驗證模組下的兩個模式:

  1. 網頁授權登入
  2. 掃碼授權登入

分別講一下各自的流程

網頁授權登入

使用者點選在企業微信終端(包括PC端和移動端)應用裡的的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),該連結會被企業微信官方後臺解析並校驗,如果通過了,終端會跳轉到上面URL裡的REDIRECT_URI並帶上一個code,企業微信應用可以根據這個code換取使用者的userid和user_ticket(前端或後端都可以實現,只要能發起https請求就可以),根據userid或user_ticket獲取使用者的資訊,兩者的區別是獲取的使用者資訊層次不同(基本資訊、敏感資訊)。

掃碼授權登入

使用者在任何平臺的瀏覽器上掃二維碼,並在手機上確認授權,經過企業微信官方後臺解析並校驗,如果通過了,終端會跳轉到一個URL並帶上一個code,接下來就跟網頁授權登入差不多了。
二維碼有兩種方式設定,一種是跳轉到另一個網頁,這個網頁上有二維碼;另一種是二維碼是附在你的網頁上的,不需要跳轉到另一個網頁。

兩種模式度可以抽象為如下幾個步驟:

  1. 請求code,兩者是不一樣的,一個是通過點選終端URL,一個是通過在掃瀏覽器上的二維碼
  2. 獲取使用者資訊,兩者是一樣的,都是根據code通過https請求去獲取使用者的資訊

這兩種模式的一些其他區別如下:

網頁授權 掃碼授權
場景 指企業微信終端(包括PC端和移動端) 任何平臺的瀏覽器上都可以
前置操作 不需要 需要“設定授權回撥域”
對第三方服務商的支援 支援 不支援

相關文章