我正在构建一个。我需要根据Office 365对用户进行身份验证,并将加载项发布到AppSource / Office。理想的认证方法是什么?
我找到了用于SSO身份验证的教程,但是我在https://learn.microsoft.com/en-us/office/dev/add-ins/develop/sso-in-office-add-ins上读到:“目前只在预览中支持单点登录API。它可供开发人员试用;但它不应该用于生产外接程序。此外,使用SSO的外接程序在AppSource中不被接受。”
这是否意味着SSO应用程序仍将不被商店所接受?那么我应该使用什么身份验证流程呢?我只需要用户通过这个身份登录访问我的Web。如果可能,用户不应该需要重新输入他们的凭据。为了完成这个任务,我可以遵循一个代码示例吗?
发布于 2019-06-16 23:23:44
AppSource目前不接受使用预览单点登录系统的外接程序。
要使用Microsoft帐户或没有SSO的Work或School (Office 365)帐户对用户进行身份验证,即使用户已经登录到Office,也需要再次登录。如果没有SSO系统,外接程序就无法知道谁登录到Office中,就像浏览器中打开的web应用程序不知道Office是否在机器上运行或者是谁登录到它一样。
(您对流的选择可能会受到单个页面应用程序(SPA)或服务器生成的UI的影响。由于您提到您有一个Web,所以我假设这不是SPA。)
我不知道任何只对用户进行身份验证的示例Office外接程序;但是有一对夫妇登录用户,然后使用Auth代码流获取对MicrosoftGraph的访问令牌。
PowerPoint外接程序-。Office应用程序是PowerPoint,但是与auth相关的代码在Excel中是相同的。
Office外接程序-在Microsoft Graph中。这几乎是一样的,但Excel作为Office应用程序。还没擦亮。(见自述报告中已知的问题。)
但请记住,Office外接程序只是一个web应用程序,并且--除了一个例外--授权用户在外接程序中与任何其他web应用程序相同。因此,您应该能够使用Azure AD Quickstart中的示例。
一个例外是,您必须在一个使用Office.js displayDialogAsync API调用的特殊对话框窗口中打开AAD登录页。我链接到上面的两个样本就是这样做的。您可以在文章Office外接程序中的对话框API中获得有关使用Dialog for auth的详细指导。
顺便说一句,微软正在改进其非SSO的文档和样本。我们希望在未来几周内公布这些改进措施。
https://stackoverflow.com/questions/56621848
复制相似问题