我正在尝试为此方案找到解决方案: 我们创建了一个提供商托管的sharepoint应用程序,它基本上是一个SPA网站 当然,作为每个SPA网站,都有一个Web API。我想保护此Web API并使用有效的O365令牌强制执行身份验证。 如何使用O365保护Web API?是直接通过AAD的唯一途径吗?
感谢您的任何提示。 最好 劳林
答案 0 :(得分:1)
Office365在后台使用Azure AD,因此要保护您的API,您必须通过Azure Active Directory。
配置身份验证有几个步骤:
使用位于here.
的Azure Active目录的示例SPA在WebAPI中处理身份验证的代码位于App_Start/Startup.Auth.cs
文件中。导入Microsoft.Owin.Security.ActiveDirectory
名称空间并将pipepline设置为用户Azure Active Directory身份验证:
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Audience = ConfigurationManager.AppSettings["ida:Audience"],
Tenant = ConfigurationManager.AppSettings["ida:Tenant"]
});
}
}
要锁定API路由,请务必在控制器或操作上添加[Authorize]
属性。