用于Outlook加载项的“代表用户访问”

问题描述 投票:0回答:1

我正在浏览Implement single sign-on to your service in an Outlook add-in的文档,该文档讨论了SSO签署以获得授权。但由于SSO令牌身份验证仅处于预览状态且Exchange用户身份令牌不能用于O365,我想知道是否在Outlook外接程序中使用"Get access on behalf of a user"来访问MS Graph API。

我找不到使用“代表用户访问”的Office加载项的任何此类文档。

编辑1:我一直在使用getCallbackTokenAsync从我的加载项中调用Outlook Endpoint API。但是由于一些unexpected behavior of /attachment API,我打算使用MS Graph API。我对问题的关注是,在Outlook Win32,Outlook Mac,Outlook Mobile,Outlook Web上加载项时,“代表用户访问”身份验证流程将起作用。

microsoft-graph office-js outlook-web-addins
1个回答
2
投票

看到这篇文章的接受答案:401 Unauthorized when trying to send emails from EWS Managed API

实质上,如果您绝对需要使用Microsoft Graph,则可以在不使用SSO机制的情况下执行此操作。您可以使用Web套接字并传输访问令牌/刷新令牌。

Node.JS配置如下:

(在网络应用程序中)

  1. 要求用户点击按钮,将您的应用授权到他们的帐户。
  2. 将用户弹出到OAuth登录网址。 (并显示一个微调器)

(在网页上)

  1. 设置重定向/回复URL的方式是,一旦收到访问令牌(或刷新令牌,如果您正在使用code身份验证),它会通过套接字将其传输给发起登录的用户。确保映射的一种方法是将一个唯一的GUID放在web-app响应中(在cookie中或作为内联脚本)

EWS API(有一种允许你调用EWS / makeEwsRequestAsync的方法)非常丰富。

© www.soinside.com 2019 - 2024. All rights reserved.