企业微信oauth认证_OAuth2身份认证
OAuth2統一身份認證
簡介
Janusec Application Gateway支持如下身份認證:
LDAP
CAS 2.0
企業微信掃碼登錄
釘釘掃碼登錄
飛書掃碼登錄
并同時作用于管理后臺,以及員工訪問內網應用。
配置
如需啟用,請在配置文件config.json中開啟:
"oauth": {
"enabled": true,
"provider": "wxwork",
...
}
上述provider中,ldap表示LDAP認證,cas2表示CAS 2.0認證,wxwork表示企業微信掃碼登錄,dingtalk表示釘釘掃碼登錄,feishu表示飛書掃碼登錄。
應用如何獲取用戶身份
Janusec認證通過后,會在HTTP請求的頭部添加兩行:
X-Auth-Token: Access-Token (備注: 0.9.15使用X-Auth-Token替換之前的Authorization)
X-Auth-User: UserID
應用不需要修改即可使用,也可以通過X-Auth-User獲取用戶身份(企業微信/釘釘/飛書),或者借助Access-Token(企業微信/飛書)獲取進一步的信息。
LDAP配置
在配置文件的"ldap"字段:
登錄界面顯示:
“display_name”: “Login with LDAP”,
LDAP登錄入口(配置一個常用的應用域名作為網關的訪問域名,并需要修改下面的http/https及域名,后面的路徑不變,也不帶端口號):
“entrance”: “https://your_domain.com/ldap/login”,
LDAP服務器地址(格式采用 域名:端口 ,如果啟用TLS,請注意修改端口號):
“address”: “ldap_domain:389”
LDAP DN區分名稱(需要根據實際DN修改,{uid}請保持不變):
“dn”: “uid={uid},ou=People,dc=janusec,dc=com”,
是否啟用TLS加密傳輸(如果啟用,請一并檢查LDAP服務器端口,默認636):
“using_tls”: false
CAS 2.0
在配置文件的"cas2"字段:
// 顯示在登錄界面
“display_name”: “Login with CAS 2.0”,
// CAS服務器入口,使用/cas結尾
“entrance”: “https://cas_server/cas”,
// 回調地址,使用網關域名,以/oauth/cas2結尾,不帶端口號
企業微信配置
在配置文件的"wxwork"字段:
登錄界面顯示:
“display_name”: “Login with WeChat Work”,
回調地址(需要同時在該應用"開發者接口"一欄配置"授權回調域”,配置一個常用的應用域名作為網關的訪問域名,并需要修改下面的http/https及域名,后面的路徑不變,也不帶端口號):
“callback”: “https://your_domain.com/oauth/wxwork”,
企業ID (在https://work.weixin.qq.com/wework_admin/frame#profile 下方可看到企業ID信息):
“corpid”: “wwd03be1f8”,
AgentID (在https://work.weixin.qq.com/wework_admin/frame#apps 創建名為JANUSEC的自建應用即可看到):
“agentid”: “1000002”,
corpsecret (即上述自建應用的Secret,請據實修改):
“corpsecret”: “BgZtz_hssdZV5em-AyGhOgLlm18rU_NdZI”
釘釘配置
在配置文件的"dingtalk"字段:
登錄界面顯示:
“display_name”: “Login with DingTalk”,
回調地址(配置一個常用的應用域名作為網關的訪問域名,并需要修改下面的http/https及域名,后面的路徑不變,也不帶端口號):
“callback”: “https://your_domain.com/oauth/dingtalk”,
請在釘釘開放平臺注冊一個自建應用,獲取下面的信息。
“appid”: “dingoa8xvc”,
“appsecret”: “crrALdXUIj4T0zBekYh4u9sU_T1GZT”
appsecret即上述自建應用的Secret,請據實修改。
飛書配置
需要在飛書開放平臺注冊應用(比如名稱JANUSEC)并經企業管理員審核通過。
需要在飛書開放平臺后臺配置"安全域名"-“重定向URL”,配置為"https://your_domain.com/oauth/feishu"
在配置文件的"feishu"字段:
登錄界面顯示:
“display_name”: “Login with Feishu”,
回調地址(配置一個常用的應用域名作為網關的訪問域名,并需要修改下面的http/https及域名,后面的路徑不變,也不帶端口號):
“callback”: “https://your_domain.com/oauth/dingtalk”,
請在飛書開放平臺注冊一個自建應用,獲取下面的信息。
“appid”: “cli_9ef21d00e”,
“appsecret”: “ihUBspRAG1PtNdDLUZ”
退出登錄
后端網站只需要添加一個退出鏈接 /oauth/logout ,用戶點擊后即可實現退出效果。
原理介紹與演示
多節點注意事項
OAuth2需要使用回調域名(在config.json中callback配置),這里請選定并配置一個域名,可以是任意已配置應用中的域名(不包括單獨為主節點申請的域名),假設為www.your_domain.com 。
但需要注意的是,DNS解析應確保其對所有應用的解析,在同一個辦公場地,均指向同一個網關。如果員工訪問的應用,跟回調域名指向不同的網關地址,則OAuth2將不可用。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的企业微信oauth认证_OAuth2身份认证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么导入sklearn包_在导入skle
- 下一篇: .net mvc 报表_FastRepo