日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Teams Tab的Single Sign-On

發布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Teams Tab的Single Sign-On 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在我寫這篇文章的時候,這個SSO機制還是在 Developer Preview 階段,可能在發布前還會有一些改進。不過我覺得這個功能很好,所以先和大家分享一下。

如果大家之前已經開發過Teams的tab應用,可能會發現如果你需要一個當前用戶的token十分繁瑣,這個SSO的設計就是用來解決這個問題的,目前只支持工作組織賬號(暫不支持Microsoft Account)。

我們先來看一下處理的流程:

  • 在你的tab前端代碼里,調用getAuthToken()方法,這個方法會告知Teams客戶端,你的tab app想要一個token。
  • 如果這個是當前用戶第一次,并且你的app需要用戶審核,那teams客戶端就會彈出一個審核的窗口。類似于下圖
  • ?

  • Teams客戶端會向Azure AD發送申請用戶token的請求。
  • 如果一切順利,AzureAD就會把token返回給Teams客戶端
  • Teams客戶端把token返回給你的tab應用,token作為getAuthToken()的返回對象。要注意,這是一個異步的調用
  • 你的tab app拿到token后就可以對token進行解析獲取用戶的一些身份信息,下面是一個tab app的解析的代碼:https://github.com/ydogandjiev/taskmeow
  • parseTokenToUser(token) {// parse JWT token to objectvar base64Url = token.split(".")[1];var base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/");var parsedToken = JSON.parse(window.atob(base64));var nameParts = parsedToken.name.split(" ");return {family_name: nameParts.length > 1 ? nameParts[1] : "n/a",given_name: nameParts.length > 0 ? nameParts[0] : "n/a",upn: parsedToken.preferred_username,name: parsedToken.name};}

    由于整個配置步驟較多,大家可以參考?官方文檔?一步步來做,并且可以參考這個?開源項目?的代碼,十分有用。

    需要注意的是:目前這種方式獲取到的token只是用戶等級權限的token,并不能用來調用Graph API,如果需要用來調用Graph API的token,需要使用?基于網頁的AzureAD授權方式。如果你的認證中心不是AzureAD,那就要使用?網頁授權方式

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的Teams Tab的Single Sign-On的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。