javascript - Uso de Adal JS con Office 365: mĂșltiples llamadas Ajax en la primera carga
oauth office365 (0)
Estoy usando Adal JS para autenticar mi aplicación Html con O365. La aplicación está registrada en Azure AD. Al usar la herramienta devloper, noté que el punto de interrupción alcanza $.ajax({
varias veces (después de la devolución de llamada desde Azure AD). Esto da como resultado la ejecución múltiple de ** .done
. ¿ .done
falta algo en la autenticación?
$(document).ready(function() {
(function() {
"use strict";
window.config = {
subscriptionId: ''ID'',
clientId: ''ID'',
endpoints: {
mailApi: ''https://outlook.office365.com''
},
cacheLocation: ''localStorage''
};
var authContext = new AuthenticationContext(config);
var isCallback = authContext.isCallback(window.location.hash);
authContext.handleWindowCallback();
if (isCallback && !authContext.getLoginError()) {
window.location = authContext._getItem(authContext.CONSTANTS.STORAGE.LOGIN_REQUEST);
}
var user = authContext.getCachedUser();
if (!user) {
authContext.login();
}
else {
authContext.acquireToken(config.endpoints.mailApi, function (error, token) {
if (error || !token) {
console.log(''ADAL error occurred: '' + error);
return;
}
else
{
$.ajax({
type: "GET",
url: ''https://outlook.office365.com/api/v1.0/me/messages'',
headers: {
''Authorization'': ''Bearer '' + token,
}
})
.done(function (response) {
console.log(''Successfully fetched files from OneDrive.'');
console.log(response);
})
.fail(function (msg,error) {
console.log(''Fetching files from OneDrive failed.'');
});
}
});
}
})();
});