本文介紹O2OA服務管理中,接口的權限設定和調用方式。
適用版本:5.4及以上版本
創建接口
具有服務管理設計權限的用戶(具有ServiceManager角色或Manager角色)打開“服務管理平台”,進入接口配置視圖,點擊左上角的新建按鈕,可創建一個新的接口。
新建接口后,在右側屬性欄中有兩個配置和調用權限有關,一個是“允許訪問的地址表達式”,一個收是“啟用鑒權”。
允許訪問的地址表達式
此處允許輸入一個正則表達式,用來匹配調用接口的客戶端的Remote_Addr,只有匹配通過,接口才允許執行。例如只允許172.16.1.50到172.16.1.56地址調用接口,可以在此處輸入:
172\.16\.1\.5[0-6]
啟用鑒權
此處選擇“是”的話,就需要在調用接口時傳入client名稱和一個加密后的token。所以我們先需要一組鑒權配置。
具有管理員權限的用戶(具有Manager角色),打開“系統設置”-“系統SSO配置”,找到“鑒權配置”。
點擊“添加鑒權配置”:
此處需要配置一個名稱和密鑰。
名稱:可隨意填寫,就是我們在調用接口或進行SSO時要傳入的client參數。
密鑰:可隨意填寫,用於后續加密,最少8位。
此處我們假設名稱填寫:oa;密鑰填寫:platform
填寫完成后確定。
然后我們就可以使用此鑒權配置來調用接口了。
接口調用
接口調用的的地址在接口屬性欄中有顯示:
當啟用鑒權后的接口調用地址為:
http://develop.o2oa.net:20030/x_program_center/jaxrs/invoke/{name}/client/{client}/token/{token}/execute
請求方法為:POST
地址中的{name}為接口的名稱或別名;
地址中的{client}為鑒權的名稱;
地址中的{token}為:用戶名#1970年毫秒數 使用鑒權密鑰經過3DES加密后的值。
javascript加密代碼樣例
我們使用CryptoJS進行DES加密。(GitHub:
IOS加密代碼樣例
Android加密代碼樣例