我有:
问题:是否有可能获得 AAD 授权 token (从第一个(容器)应用程序到第二个应用程序?如果是,将不胜感激任何指南/示例。
最佳答案
我们可以使用 Window.postMessage 从本地通信两个窗口方法。下面是一个简单的示例,用于模拟从父页面获取 token 的过程。您可以根据安全考虑对其进行修改以验证域:
ContainerPage1.Html
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<iframe src="InnerPage.html"></iframe>
<script>
var token = "abc";
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event) {
if (event.data === "accquireToken")
event.source.postMessage(token,"*");
}
</script>
</body>
</html>
内页.Html
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event) {
alert(event.data)
}
function accquireToken() {
window.parent.postMessage("accquireToken","*");
}
</script>
<input id="Button1" type="button" value="Accquire Token" onclick="accquireToken()" />
</body>
</html>
关于azure-web-app-service - 将 Azure AD 授权 token 从容器 Web 应用程序传递到嵌入式 (iFrame) 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40269669/