Azure AD를 통해 Operations for Dynamics 365로 인증하는 단일 페이지 웹 응용 프로그램을 만들려고합니다. 나는 Azure AD와 Dynamics 365에서 내 응용 프로그램을 등록하기 위해 모든 지침을 따랐습니다. Azure AD로 성공적으로 인증을 받았고 adal javascript 라이브러리를 사용하여 응용 프로그램에서 유효한 토큰을 받았습니다. 그러나 D365에서 OData 끝점에 요청할 때 401 오류가 발생합니다. 나는 Azure AD로 인증 받았고 인증 토큰에 토큰을 전달하고 있으므로 승인 헤더를 올바르게 설정하지 않으면 왜 인증 오류가 발생하는지 알 수 없습니까? 내 요청 사항은 다음과 같습니다.Operations SPA 및 OData 용 Dynamics 365
//Function that actually retrieves the accounts
function retrieveAccounts(error, token) {
// Handle ADAL Errors.
if (error || !token) {
errorMessage.textContent = 'ADAL error occurred: ' + error;
return;
}
var req = new XMLHttpRequest()
req.open("GET", encodeURI(organizationURI + "/data/Projects"), true);
//Set Bearer token
req.setRequestHeader("Authorization", "Bearer" + token);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.onreadystatechange = function() {
if (this.readyState == 4 /* complete */) {
req.onreadystatechange = null;
if (this.status == 200) {
var projects = JSON.parse(this.response).value;
renderProjects(projects);
}
else {
var error = JSON.parse(this.response).error;
console.log(error.message);
errorMessage.textContent = error.message;
}
}
};
req.send();
}
아이디어가 많이 있습니다. 나는 웹 api를 사용하여 Dynamics 365 CRM을 사용하여이 작업을 성공적으로 수행 할 수 있었으므로 설치가 약간 다르긴하지만 Operations에서도 작동 할 것으로 가정하고 있습니다.