#angular #azure-active-directory #msal #webapi #.net-core-3.1
#angular #azure-active-directory #msal #webapi #.net-core-3.1
Вопрос:
Я работаю над проектом angular, который использует http и web api (.net core 3.1) для подключения к базе данных, которая зарегистрирована и развернута в Azure, и я предоставил доступ только одному пользователю, который в настоящее время находится в Azure active Directory, и в запросе post я хочу получить этого текущего пользователя, который сохраняет /редактирование записи. Я пытался использовать MSAL, но sessonstorage.getitem() пуст. и я новичок в MSAL, поэтому, пожалуйста, расскажите мне, как это работает, и я был бы признателен, если кто-нибудь пошагово объяснит, как использовать MSAL и получить текущего пользователя. не могли бы вы помочь мне с этим? Заранее спасибо!!
Примечание. Если есть другой способ получить текущего пользователя (не с помощью аутентификации Windows), который предоставил доступ к Azure active Directory в .net core 3.1, пожалуйста, скажите мне..
Ответ №1:
Вы могли бы попробовать это руководство, используя MSAL. myMSALObj.getAccount()
После входа в систему отображается приветственное сообщение.
const myMSALObj = new Msal.UserAgentApplication(msalConfig);
function signIn() {
myMSALObj.loginPopup(loginRequest)
.then(loginResponse => {
console.log('id_token acquired at: ' new Date().toString());
console.log(loginResponse);
if (myMSALObj.getAccount()) {
showWelcomeMessage(myMSALObj.getAccount());
}
}).catch(error => {
console.log(error);
});
}
function showWelcomeMessage(account) {
// Reconfiguring DOM elements
cardDiv.classList.remove('d-none');
welcomeDiv.innerHTML = `Welcome ${account.name}`;
signInButton.classList.add('d-none');
signOutButton.classList.remove('d-none');
}