Outlook外接程序“代表用户访问”

时间:2019-04-30 07:31:26

标签: microsoft-graph office-js outlook-web-addins

我正在浏览Implement single sign-on to your service in an Outlook add-in的文档,该文档讨论了SSO登录以获得授权。但是由于SSO令牌身份验证仅处于预览状态,并且Exchange用户身份令牌无法用于O365,我想知道"Get access on behalf of a user"是否用于Outlook加载项中以访问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上加载了附件,“代表用户的访问权限”身份验证流程是否可以正常工作。

1 个答案:

答案 0 :(得分:2)

请参阅此帖子的已接受答案:401 Unauthorized when trying to send emails from EWS Managed API

从本质上讲,如果您绝对需要使用Microsoft Graph,则可以使用一些方法而无需使用SSO机制。您可以使用网络套接字并传输访问令牌/刷新令牌。

Node.JS的配置如下:

(在网络应用中)

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

(在网页上)

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

EWS API(有一种方法可以让您调用EWS / makeEwsRequestAsync)。