【Teams】什麼是RSC,即資源級別的權限?

    衆所周知,在基於Teams平臺開發應用,調用Graph API的時候,都會有一系列權限需要申請,當然,權限也有很多粒度和資源訪問範圍。

    最新的Teams也推出了team級別的權限訪問(RSC),爲第三方的多租戶應用提供更多的可能,實際上是Teams和GraphAPI的集成,能讓應用訪問組織內某個團隊內的某些數據,這個粒度其實還是很細的。比如某團隊的owner可以允許第三方應用訪問甚至修改自己的團隊數據,比如創建頻道等。當然這裏的權限也有很多,如下圖:

這裏可以看到,團隊的owner可以提升的權限還是很多的。目前可以打開Developer Preview以查看此功能,根據官方文檔,RSC目前只能作用於Teams客戶端內部的應用。

那麼,如何進行設置呢?

1. 登錄azure portal,導航到AAD -> 企業應用 -> 用戶設置下邊,如圖。

2. 通過Azure AD portal註冊應用。參考這裏:https://docs.microsoft.com/zh-cn/graph/auth-register-app-v2

3. 確認應用權限,Azure AD portal -> Azure Active Directory -> App Registrations -> 應用的API Permissions,如下:

注:如果只有RSC權限,那麼將其他權限刪除即可,如果還有非RSC的權限需要,那按需保留即可。

4. 獲取AccessToken,這部分沒啥多說的,appid,secret,redirecturi。

5. 更新我們的manifest文件,列出需要team的owner提升的權限。如下(爲manifest文件添加一個key,名稱爲webApplicationInfo):

"webApplicationInfo": {
    "id": "{應用id}",
    "resource": "{這裏自己定義一個字符串就行。RSC流程不需要,但是必須填,不然報錯}",
    "applicationPermissions": [
      "TeamSettings.Read.Group",
      "ChannelMessage.Read.Group",

      ...
    ]
  }

6. 直接將app打包安裝到teams裏即可。

如果需要驗證,則右鍵安裝的team,從team的鏈接中copy出groupid,登錄到Graph Explorer,調用接口https://graph.microsoft.com/beta/groups/{copy出來的groupid}/permissionGrants,返回的數據中clientAppId即爲我們自己的appid。

 

以上就是RSC的大概設置和驗證。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章