憑據管理類型解析
個人憑據
ONES對於個人憑據的實現基於標準的OAuth2.0 RFC6749 - Authorization Code流程。
從相關博客 快速瞭解技術原理。
授權碼模式(Authorization Code)中關鍵參數獲取方式:
redirect_uri由管理員在新建憑據管理表單中填入。
client_id、client_secret在創建成功後由系統自動返回交由開發者自行保存。
-
授權流程(請參考開發者文檔-個人憑據)完成後,應用程序即可以獲取個人用户授權的
access_tokenaccess_token是調用ONES OpenAPI的憑據,調用方式請參考使用訪問令牌。
組織憑據
組織憑據的實現原理是在組織中創建一個與憑據名稱相同的虛擬用户,並在頁面上直接返回access_token作為該用户的訪問憑據,這種方式獲取的access_token不會過期,需要開發者妥善保存。
該虛擬用户擁有最高級別的數據訪問權限,可以訪問該組織內所有數據。
憑據範圍與訪問權限
總結:
範圍(scope)限制的是程序能夠訪問的接口範圍。個人權限代表的是具體的ONES用户在系統能能看到哪些內容,能操作哪些內容。
在新建憑據時,需要管理員進行範圍(scope)的指定。以下基於一個申請了以下兩個範圍(scope)的個人憑據(名稱叫【個人】評論小助手)
在獲取到access_token後調用OpenAPI的業務邏輯來進行解釋。
由於只申請了這兩個範圍(scope),只能調用Issue Comment範圍中的接口。
同時在針對一個ONES組織, 其中團隊EkkjJa7D擁有以下兩個項目
【示例】敏捷式研發管理【示例】瀑布式研發管理
該組織中存在成員blue2,其加入了【示例】敏捷式研發管理項目。
blue2用户在瀏覽器開始使用該應用,經過同意後應用獲取到access_token
個人憑據獲取的access_token
✅使用blue2授權產生的access_token向【示例】敏捷式研發管理項目中的工作項測試用例編寫添加一條評論,添加成功,界面上正常展示一條評論 |
|---|
❌使用blue2授權產生的access_token向【示例】瀑布式研發管理項目中的工作項【【後端】接口協議定義添加一條評論會失敗 |
|---|
組織憑據獲取的access_token
使用組織憑據獲取的access_token可以在組織內的任意一個工作項添加評論,此時查看工作項的評論界面可以發現是【超級助手】這個憑據發出了一條評論。