在Microsoft Teams选项卡应用程序的iframe中使用SSO密钥



我正在使用VS代码工具包开发Microsoft Teams选项卡应用程序。我有一个已经在工作的网站,我把它嵌入了一个iframe中。我的网站能够使用Microsoft SSO密钥对用户进行身份验证。我设法获得了当前Microsoft用户的SSO密钥,我想将令牌传递给iframe,以便对他/她进行身份验证。有可能做到这一点吗?如果是,如何?

提前感谢您的帮助!

以下是我的代码片段:

useEffect(() => {
microsoftTeams.initialize();
microsoftTeams.authentication.getAuthToken({
successCallback: (result) => {
console.log("result", result);
setToken(result);
},
failureCallback: (reason) => {
console.log("reason", reason);
},
});
}, []);
return (
<div>
<h1 className="mainTitle">{token}</h1>
<iframe
src="mysiteurl"
title="XYZ out page"
allowFullScreen
className="iframe"
></iframe>
</div>

);

如果你拥有/支持这两个应用程序(主网站和你试图将其iframe到的Teams应用程序(,我强烈建议你修改你的应用程序,以支持Teams/non-Teams混合场景。你可以做一个非常简单的检测来检查你是否在团队内部(请参阅这里的示例代码-我实际上也发布了这个问题的答案,但它与你无关-看看其他人发布的其他答案,了解你的具体需求(。

如果您在Teams内部,则使用MicrosoftTeams.authentication.getAuthToken让Teams为您执行SSO,如果您不在Teams(即独立web(中,则可以让您的应用程序执行它已经在执行的操作(可能是MSAL或类似操作?(。

最新更新