Office365 использует Azure AD за кулисами, поэтому для защиты вашего API вам нужно пройти через Azure Active Directory.
Там несколько шагов к настройке проверки подлинности:
- Register your application with ADD
- Получить маркер доступа для вас пользователя от ADD через ADAL Javascript library
- Зов АНИ с доступом лексем
Существует образец SPA с использованием каталога Azure Active, расположенного here.
Код, который обрабатывает аутентификацию в WebAPI, находится в файле App_Start/Startup.Auth.cs
. Импорт Microsoft.Owin.Security.ActiveDirectory
пространства имен и настроить pipepline для пользователя аутентификации Active Directory Azure:
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]
на контроллере или действия.
спасибо. Поэтому я рассматриваю это как подтверждение того, что единственный способ защитить веб-api - использовать AAD, нет другого способа сделать это через O365 без регистрации приложения в aad. – LaurinSt