企業微信單點登錄自建系統過程記錄


項目上接到一個需求,為方便員工登錄各種內部系統,統一以企業微信為入口,在企業微信面板中增加系統跳轉鏈接實現單點登錄。

整體思路比較簡單,大致如下:

1.由於自建系統和企業微信的用戶ID不同,所以需要建立一張用戶對應表,通過企業微信API獲取用戶列表將兩個系統的用戶關聯起來。

2.在企業微信管理后台填寫系統跳轉鏈接,跳轉時url會增加code參數,這個code就是當前登錄用戶的加密字符串。

3.在自建系統中獲取到code參數后調用企業微信獲取成員信息API,返回結果中包含企業微信用戶ID。

4.拿到企業微信用戶ID后到用戶對應表中查找,如果有對應用戶記錄,則使用自建系統的用戶ID執行登錄操作。

 

接下來是具體實現步驟:(文中wwlocal.qq.com需指向企業微信的服務器地址)

1.首先到企業微信的接口配置參數頁面查看相關信息,紅框部分是關鍵信息,調用API時需要用到:

 

2.調用獲取部門成員詳情接口獲取員工列表,總共需要三個參數:access_token、department_id、fetch_child,其中access_token需要單獨獲取

 

3.獲取access_token,這個在文檔的開頭有介紹

 

 調用獲取token的接口,需要兩個參數:corpid、corpsecret,這時候就用到了第一步截圖中的信息,結果返回后為避免頻繁調用,建議將token緩存,有效期一般為2小時。

 

 4.員工列表接口請求完成后與系統用戶做對比進行關聯操作,然后進行下一步,在企業微信管理后台添加自建系統跳轉鏈接,詳細內容請查看開發文檔中-OAuth2.0網頁授權 章節。

5.通過企業微信面板登錄管理后台:

 

 登錄后可看到如下頁面:

 

 首先在網頁授權及JS-SDK中設置可信域名,直接寫ip即可,有端口號的需要加上,不需要加http頭

 

 然后到自定義菜單中配置需要跳轉的系統鏈接:

 

 

 這里的鏈接需要按照開發文檔 OAuth2.0網頁授權章節中的關鍵步驟部分,鏈接默認打開的是內置的瀏覽器,如果需要打開外部默認瀏覽器需要增加參數:&target=out

 

6.跳轉后的效果如下,code參數就是我們需要的信息,這里的code只能使用一次且有效時間為5分鍾:

 

 OAuth2.0流程圖如下:

 

 7.最后一步,需要做的就是用拿到的code參數調用獲取成員信息接口,根據返回用戶信息與系統用戶對比進行后續登錄等操作。

 

 以上就是企業微信單點登錄自建系統的整個過程,特此記錄以作回顧,分享給有需要的同學們,祝大家生活美好,工作順利!

 2020.6.19 北京昌平

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM