使用JavaScript的Outlook加载项O365登录流程

时间:2019-07-26 05:32:48

标签: javascript authentication office365 outlook-addin

我正在将Outlook加载项实现到我的网站中。我需要实现Office 365身份验证登录功能。我尝试使用此URL登录到Office 365:

https://login.microsoftonline.com/common/oauth2/authorize?api-version=2.0&client_id=XXX&response_type=code&redirect_uri=https://mysiteurl/auth.php&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default

当我直接从浏览器中访问此URL时,得到的响应为

Array
(
    [code] => M26235f9c-3bb8-aa61-14ab-5d8110dc3f1a
)

但是问题是,当我尝试从Outlook加载项访问此URL时,它返回错误

  

”拒绝显示   'https://login.microsoftonline.com/common/oauth2/authorize?api-version=2.0&client_id=XXX&response_type=code&redirect_uri=https://mysiteurl/auth.php&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default'   在框架中,因为它将“ X-Frame-Options”设置为“ deny”。 “。

为什么会发生此错误以及如何解决此问题。

当我从浏览器中访问此URL时:

https://login.microsoftonline.com/common/oauth2/authorize?api-version=2.0&client_id=XXX&response_type=code&redirect_uri=https://mysiteurl/auth.php&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default

我得到的结果:

Array
(
    [code] => M26235f9c-3bb8-aa61-14ab-5d8110dc3f1a
)

我尝试的是正确的还是在Outlook加载项中使用O365登录还有其他想法吗? 谁能建议任何参考教程来在Outlook加载项中实现O365登录?

1 个答案:

答案 0 :(得分:0)

作为error suggests,您无法在Frame / IFrame / Embed中显示此页面

  

“拒绝在一个框架中显示'https://login.microsoftonline.com/common/oauth2/authorize?api-version=2.0&client_id=XXX&response_type=code&redirect_uri=https://mysiteurl/auth.php&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default',因为它将'X-Frame-Options'设置为'deny'。”。

您将必须使用对话框来处理身份验证流程。

How to use the Dialog API in your Office Add-ins