gpt4 book ai didi

office-js - 调用 Microsoft Graph 的 Outlook Web 加载项

转载 作者:行者123 更新时间:2023-12-05 03:02:02 25 4
gpt4 key购买 nike

我正在关注 office-js-helpers启用 SSO 登录,然后使用访问 token 调用图形 API。

但是,Authentication将在新选项卡中打开登录窗口,即使我已在 manifest.xml 中添加

<AppDomain>https://login.windows.net</AppDomain>
<AppDomain>https://login.microsoftonline.com</AppDomain>

当前结果。
enter image description here

编辑:
对于 SSO 登录,是否应该在 Outlook 加载项中重定向而不是打开一个新的 Web 浏览器窗口?

这是演示项目 OutlookOneDriveGraphAddIn .

我想在我的 Outlook 网络插件中启用图形 API,图形 API 需要登录过程,我希望能够在我的网络插件中请求访问 token 。

如果有什么不清楚的,请告诉我。

最佳答案

这里有2个问题。

Question #1: For SSO login, should it be redirected in the Outlookadd-in instead of open a new Web Browser window?

它不应在 Office 加载项中重定向,原因很简单,因为这违反了 OAuth。使用 OAuth 身份验证,您必须向用户显示 URL - 否则您可以在您的加载项中伪造一个看起来类似于 Microsoft 登录的 UI 并窃取人们的凭据。显然这是不安全的。因此,当您调用 getAccessTokenAsync 时,如果用户未登录,它应该弹出一个对话框。登录由 Microsoft 处理,之后, token 可通过相同的方法使用 getAccessTokenAsync

Question #2: How do I get the access token from my add-in?

请参阅此处的文档:https://learn.microsoft.com/en-us/office/dev/add-ins/develop/sso-in-office-add-ins#add-client-side-code

Office.context.auth.getAccessTokenAsync(function (result) {
if (result.status === "succeeded") {
// Use this token to call Web API
var ssoToken = result.value;
...
} else {
if (result.error.code === 13003) {
// SSO is not supported for domain user accounts, only
// work or school (Office 365) or Microsoft Account IDs.
} else {
// Handle error
}
}
});

关于office-js - 调用 Microsoft Graph 的 Outlook Web 加载项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55179906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com