1. 程式人生 > >開發Microsoft Teams選項卡應用安全注意事項

開發Microsoft Teams選項卡應用安全注意事項

我們都知道,為了方便廣大的開發人員快速開發Microsoft Teams選項卡應用,微軟提供了一個JS SDK,你可以通過這裡 https://docs.microsoft.com/en-us/javascript/api/overview/msteams-client?view=msteams-client-js-latest#:~:text=Microsoft%20Teams%20JavaScript%20client%20SDK%201%20Finding%20the,can%20use%20import%20syntax%20to%20import%20specific%20modules. 瞭解更多詳情。

在這個SDK中,我們經常會用Context物件去獲取當前的上下文資訊,例如使用者資訊啦,所在的團隊或頻道資訊等等。

https://docs.microsoft.com/en-us/javascript/api/@microsoft/teams-js/context?view=msteams-client-js-latest

但是這裡其實有一個潛在的安全問題:如果這個網頁不是在Teams中執行,而是被別有用心的人員在外部套了一個iframe,並且模擬了一個類似的Context物件的話,有可能進行安全方面的攻擊。

那麼,如果設計一個更加安全的機制,不允許我們的網頁被其他系統隨意地用iframe嵌入,只允許在Teams中進行嵌入呢?

可以通過X-Frame-options這個伺服器選項來控制。請參考 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options

但這個選專案前要麼設定所有域都不能訪問(DENY),要麼設定只有當前網站能嵌入(SAMEORIGIN)

 

第三個選項現在是不推薦使用的,取而代之的是一個新的HTTP Header,叫做CSP, Content-Security-Policy

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors

 

 

你需要將如下幾個域名加入進去

teams.microsoft.com

*.teams.microsoft.com

*.skype.com *.sharepoint.com

outlook.office.com

and the current host

 

 

如果你是用nodejs來開發,現在也有一個簡單的做法來實現這樣的需求

https://www.npmjs.com/package/express-msteams-host

 

 

在具體的程式碼中,還可以很容易地檢測當前是不是在Teams中執行,如下範例程式碼

相關推薦

開發Microsoft Teams選項應用安全注意事項

我們都知道,為了方便廣大的開發人員快速開發Microsoft Teams選項卡應用,微軟提供了一個JS SDK,你可以通過這裡 https://docs.microsoft.com/en-us/javascript/api/overview/msteams-client?view=msteams-client

記錄:小程式前端開發之tab選項與swiper高度自適應的問題與解決記錄

小白前端,記錄一下自己平時遇到的問題與解決方案,方便用到的時候檢視。 今天,自己弄了一個選項卡,選項卡內容沒有問題,可是到了選項卡下面的swiper的時候,就卡住了,我的需求是swiper裡面的內容可以根據資料來自適應高度。因為swiper小程式必須要有固定的高度,不然就得

iOS開發:2017 蘋果APP上架更新應用版本注意事項及APP版本迭代步驟方法

前幾天蘋果剛出臺新的政策協議,警告禁止使用APP熱更新,然後就收到蘋果發的警告郵件,然後並沒有在意,直到今天需要更新之前上架應用版本,才發現了問題。如果你的開發者賬號已經同意了蘋果開發者官網的最新協議

web專案開發下WEB-INF目錄使用的注意事項

在web專案中,為了安全,可能需要把jsp、html等頁面檔案放在WEB-INF目錄下,這樣如果我們的頁面中出現超連結<a>標籤或者<script></script>指令碼下的location.href去直接轉向到WEB-INF下的某一個jsp或者html頁面,那

set集合的應用注意事項以及案例詳解

import java.util.HashSet; import java.util.Set; import java.util.Iterator; /*set集合不允許包含相同的元素,無序性;集合元素還可以是null(有也只能有一個)  * 常見的用法為hashset&

Redis安全注意事項

本文簡要介紹 Redis 安全相關的話題, 包括: Redis訪問控制機制、Redis原始碼安全性, 外部輸入可能觸發的惡意攻擊, 以及其他相關問題。 如果要反饋安全問題, 請到 GitHub 上提出 issue, 當然, 如果需要私密通訊, 請使用文末提供

H5手機移動端WEB開發資源整合 常用的標籤及注意事項

meta基礎知識 H5頁面視窗自動調整到裝置寬度,並禁止使用者縮放頁面 <metaname="viewport"content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum

Android 開發者 | 應用相容性注意事項

由於國內 Android 開發環境的特殊性,相容性一直是很多開發者極為關注的問題。為此,我們特意

java web專案安全注意事項

1.弱口令漏洞 解決方案:最好使用至少6位的數字、字母及特殊字元組合作為密碼。資料庫不要儲存明文密碼,應儲存MD5加密後的密文,由於目前普通的MD5加密已經可以被破解,最好可以多重MD5加密,或者多種加密方式疊加組合。 2.未使用使用者名稱及密碼登入後臺可直接輸入後臺URL

IOS專案開發實戰——Storyboard設定介面技巧與注意事項

在iOS開發中,使用Main.storyboard來設計介面是每一個iOS開發人員需要面對的問題,使用storyboard相比較Android中使用XML來設定佈局,有優點也有缺陷,現在我們來談談storyboard的設計技巧。 (1)直接使用滑鼠右鍵可以直接縮放sto

SharePoint Framework 1.7 新功能(三)快速開發Teams Tab選項

在SPFx 1.7的開發者預覽功能裡,提供了一個可以快速開發Teams Tab選項卡的方法。可以像開發SharePoint中的webpart一樣,來開發Teams Tab選項卡。下面介紹一下這個新功能。 首先使用Yeoman generator建立SPFx的專案,注意需要使用--plusbe

安卓開發中高階元件之選項應用

在安卓開發的UI設計中,為了使介面更加清晰、美觀,我們經常用到選項卡來達到在一個介面中實現不同介面的切換。選項卡主要是由TabHost、TabWidget和FrameLayout三個元件組成,用於實現一個多標籤頁的使用者介面,通過它可以將一個複雜的對話方塊分割成

HTML5 開發APP(頭部和底部選項)

技術 開發 方法 eat 激活 default 底部 top doc 我們開發app有一定固定的樣式,比如頭部和底部選項卡部分就是公共部分就比如我在做的app進來的主頁面就像圖片顯示的那樣 我們該怎麽實現呢,實現我們應該建一個主頁面index.html,然後建五個子頁面

Android開發 漂亮底部Tab 標籤 選項製作教程

  開發環境搭建   http://blog.csdn.net/juyangjia/article/details/9471561 HelloWorld http://blog.csdn.net/juyangjia/article/details/9

Revit二次開發之 自定義選項排在最前端

引用AdWindows.dll類庫  Autodesk.Windows.RibbonControl ribbon = AutodeskWindows.ComponentManager.Ribbon;        

應用安全】微軟的安全開發生命週期(SDL)

0x01 SDL介紹         安全開發生命週期(SDL)即Security Development Lifecycle,是一個幫助開發人員構建更安全的軟體和解決安全合規要求的同時降低開發成本的軟體開發過程。

開放平臺應用安全開發指南

開放平臺應用安全開發指南 《開放平臺第三方應用安全開發指南》給出常見開發場景下,幫助開發人員完善應用安全性的開發建議,同時也對常見的安全漏洞進行描述,並提供對應的修復方案。 1. 常見開發場景安全開發指南 1.1. 敏感資訊使用場景 敏感資訊指使用者的 身份證號、銀行卡號、

Web 安全開發注意事項

一、背景 最近開發公司的WEB專案,商密技術研究部領導推出了一套測試規範,規範中包括web端安全測試掃描,掃描結果不盡如人意,因此蒐集及整理如下web安全開發事項。 二、編碼安全策略 簡述:不要相信任何來自客戶端提交的資料,比如URL和引數,HTTP頭部、javascript或者其他嵌入程式碼提交的資料

Log4Net在VS開發程式中的應用注意事項

本人開發是參考的部落格http://www.cnblogs.com/kissazi2/p/3393595.html 作者寫的很全,很詳細,遇到的問題如下: 示例中LogHelper.cs類中有如下程式碼: public static readonly log4net.ILog lo

在春天結束JVM當瀏覽器選項關閉啟動應用程式

我有一個spring-boot web應用程式分配jar檔案。 啟動應用程式的程式碼如下: private static ConfigurableApplicationContext ctx; public static void main(String[] args){ if(ctx == n