Я пытаюсь создать небольшое клиентское веб-приложение с adal.js (в настоящее время без угловой части).
Мне удалось войти в систему и получить аутентифицированный пользовательский объект. Однако, по-видимому, я получаю недопустимый токен OAuth от API.
Конфигурация, которую я отправляю экземпляру AuthenticationContext:
var config = {
instance: 'https://login.microsoftonline.com/',
tenant: 'dbaa88b3-...',
clientId: 'f81bede8-...',
postLogoutRedirectUri: window.location.href,
cacheLocation: 'localStorage',
};
Не уверены, что это должен быть идентификатор арендатора или имя арендатора?
Затем, когда я аутентифицирован, я использую
var context = new AuthenticationContext(config);
context.acquireToken(context.config.clientId, function(error, token) {
// error is null
var now = new Date();
$.ajax({
url: "https://outlook.office365.com/api/v1.0/me/calendarview",
method: "GET",
data: {
"startdatetime": (new Date()).toISOString(),
"enddatetime": (new Date()).toISOString()
},
headers: {
"Authorization": "Bearer " + token,
"Accept": "application/json; odata.metadata=full",
"Client-Request-Id": clientid, // Some unique machine id?
"User-Agent": navigator.userAgent,
"Date": now.toUTCString()
}
}).then(function(result) {},
function(e) {
console.error(e);
// 401 response, x-ms-diagnostics header = 2000005;reason="The PUID value was not found for [ORGID] identity.";error_category="invalid_user"
});
});
Если я вручную ввожу токен аутентификации, сгенерированный с той же учетной записью на https://oauthplay.azurewebsites.net/, удается.