我正在浏览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上加载项时,“代表用户访问”身份验证流程将起作用。
看到这篇文章的接受答案:401 Unauthorized when trying to send emails from EWS Managed API
实质上,如果您绝对需要使用Microsoft Graph,则可以在不使用SSO机制的情况下执行此操作。您可以使用Web套接字并传输访问令牌/刷新令牌。
Node.JS配置如下:
(在网络应用程序中)
(在网页上)
code
身份验证),它会通过套接字将其传输给发起登录的用户。确保映射的一种方法是将一个唯一的GUID放在web-app响应中(在cookie中或作为内联脚本)EWS API(有一种允许你调用EWS / makeEwsRequestAsync
的方法)非常丰富。