我有一个场景,我认为应该相当简单,但我没有找到解决方案,并想知道是否有人可以指出我在正确的方向。从sharepoint页面调用办公室365认证的web api javascript
的设置:
1)的SharePoint在线网站(用户必须经过身份验证才能看到页)
2).NET MVC的Web API服务端点(用户必须进行身份验证,以获得从数据服务)
这两者都使用相同的Azure Active Directory进行身份验证。 Web API已在Azure AD中注册。
问题:
我想提出一些JavaScript在SharePoint Online网页上(不是SharePoint插件,不是AngularJS SPA),将使用进行AJAX调用的Web API登录用户的凭据没有任何类型的用户提示(因为这是一个Ajax调用,用户将无法看到提示)。
我试过寻找ADAL库,但我可以找到的所有JavaScript的都需要使用Angular,并要求用户第二次进行身份验证。我发现了一些使用OAuth 2.0的文档,但是(根据我的说法),您需要让客户授权Sharepoint Online页面以他们的名义行事 - 用户不会同意,因为它是AJAX呼叫和同意页面不会显示在浏览器中(尽管Azure AD中的管理员已经批准了该应用程序,但它仍在执行此操作)。
在我看来,用户不应该离开SharePoint页面,不应该再次输入他们的凭证。我相信应该有某种方式可以登录SharePoint Online,并将其用作我们内部应用程序的登录。
如果有人能指出我正确的方向,我会非常感激。提前致谢。