【发布时间】:2014-07-07 20:27:55
【问题描述】:
我有以下场景:
1.- Azure 中的一个 web api 项目,我想使用 Azure AD 保护它(我不介意 Token、cookie 等,只要它满足整个场景)
2.- asp.net MVC 中的 Azure 网站,也受 Azure AD 保护。该网站必须使用 SSO 调用 web api 控制器(我在整个场景中使用相同的 Azure AD)
3.- 在 SharePoint Online 的页面中运行的一些 JavaScript 代码,还以任何安全方式调用 Web api 控制器(Office 365 租户也使用相同的 Azure AD)。如果您不了解 SharePoint,假设我有一个 SPA 项目,我只能使用 Javascript 和 html(无服务器端代码)。
按照一些 MS Azure AD 示例和 Vittorio Bertocci 的一些博客,我能够使用 OWIN 和 Oppen ID 连接使第 1 点和第 2 点正常工作。但是,似乎不可能实现第 3 点。由于我在 SharePoint Online 的页面内,我只能使用 javascript,而不能使用任何服务器端代码。我想为已登录 SP 的当前用户获取有效令牌,并记住 SP 使用与 web api 站点相同的 Azure AD。 我可以仅从客户端代码调用 Azure AD 并获取有效令牌吗?
我愿意接受任何可能的解决方案。我可以在 web api 项目中做任何事情。如果您正在考虑使用带有 appPart 的 SharePoint 应用程序,并且 appPart 从服务器端代码调用 Web api,我同意这将起作用,但这是目前不允许的选项 :(
非常感谢。
【问题讨论】:
标签: sharepoint asp.net-identity asp.net-web-api2 office365 azure-active-directory