Мне нужно создать простое приложение spa (angular 9) с версией do tnet core 3.1 на задней панели с Azure регистрацией в Active Directory. Есть ли документация или учебное пособие о том, как сделать tnet core + angular + AAD auth simple application?
Я нашел статью AAD с angular, do tnet и MSAL , но на сегодня это не актуально.
Я зарегистрировал две регистрации приложений (как показано в статье) и взял клиентское приложение из образца .
Мой app.module.ts содержит:
function MSALConfigFactory(): Configuration {
return {
auth: {
clientId: '<client-id-of-frontend-app-registration>',
authority: "https://login.microsoftonline.com/<tenant-id>",
validateAuthority: true
// redirectUri: "http://localhost:4200/",
// postLogoutRedirectUri: "http://localhost:4200/",
// navigateToLoginRequestUrl: true,
},
cache: {
cacheLocation: "localStorage",
storeAuthStateInCookie: isIE, // set to true for IE 11
},
};
}
После этого я создал бэкэнд-проект с помощью:
dotnet new webapi --client-id <client-id-of-backend-app-registration> --tenant-id <tenant-id> --domain microsoft.onmicrosoft.com --auth SingleOrg
и добавил angular -app в бэкэнд проект, как это было бы с:
dotnet new angular
, поэтому appsettings. json содержит:
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/ ",
"Domain": "microsoft.onmicrosoft.com",
"TenantId": "<tenant-id>",
"ClientId": "<client-id-of-backend-app-registration>"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
Когда я запускаю проект, я нажимаю «Войти» и все идет нормально и после этого все запросы через введенные HTTPClients содержат токены Bearer.
Но когда я вызываю любой контроллер, помеченный как [Authorize], он всегда возвращает 401.
Так что, возможно, некоторые из шагов содержат ошибки? Или есть документация или учебник, как сделать tnet core + angular + AAD auth простым приложением? По крайней мере, для других версий do tnet и angular, но не слишком старых.
Спасибо.