Я просматриваю документ, чтобы получить маркер доступа, а затем вызываю веб-интерфейс API, защищенный Azuread. Я использую msal. js libary. Во-первых, я использую кнопку для входа, вот мой код const myMSALObj = new Msal.UserAgentApplication (msalConfig);
function signIn() {
myMSALObj.loginPopup(loginRequest)
.then(loginResponse => {
alert('id_token acquired at: ' + new Date().toString());
console.log('id_token acquired at: ' + new Date().toString());
console.log(loginResponse);
if (myMSALObj.getAccount()) {
alert("already get account");
showWelcomeMessage(myMSALObj.getAccount());
}
}).catch(error => {
console.log(loginRequest);
console.log("loginPopUp:" + error);
});
}
все отлично работает как в файле html, так и в файле aspx, а затем после подтверждения входа в систему я использую другую кнопку для вызова API, код как показано ниже.
function seeProfile() {
alert('call profile');
alert(myMSALObj.getAccount().toString());
if (myMSALObj.getAccount()) {
alert();
myMSALObj.acquireTokenSilent(loginRequest).then(
response => {
alert(response);
//callMSGraph(graphConfig.graphMailEndpoint, response.accessToken, updateUI);
// success response
}).catch(function (error) {
alert(error);
console.log(error);
});
}
}
только для получения токена из acquireTokenSilent
,, он хорошо работает в моем файле html. Но не удалось в веб-форме .aspx. Нет обратной связи в функции, а не в функции then () и catch