API Office365: токен имеет недопустимую подпись
В настоящее время я пытаюсь запросить API Office365 из серверной части php с помощью токена доступа, полученного из клиентской части через adaljs. API-вызовы из внешнего интерфейса работают отлично. Тем не менее, API-вызовы с использованием одного и того же токена из серверной части и Почтальон не удается с ошибкой: 2000000;reason="The token has an invalid signature.";error_category="invalid_signature"
Внешний (рабочий) пример:
$http.get("https://outlook.office365.com/api/v1.0/me/calendarview?StartDateTime=2016-08-02T00:00:00Z&EndDateTime=2016-08-02T23:59:00Z") //working
.then(function (response) {
$log.debug('HTTP request to Calendar API returned successfully.');
console.log(response);
}, function (error) {
$log.error('HTTP request to Calendar API failed.');
console.log(error);
});
Получите токен для API Office365 (не моего клиентского приложения) и сохраните в db:
adalAuthenticationService.acquireToken('https://outlook.office365.com').then(function(refreshToken) {
var data = {
code: refreshToken,
email: email
};
console.log(refreshToken);
Office365.createIntegration('office365', data)
.then(function() {
console.log("link created");
$scope.loading = false;
}, function(error) {
console.error(error);
$scope.loading = false;
})
}, function(err) {
console.error(err);
});
JWT имеет aud: "https://outlook.office365.com",
установить правильно тоже
1 ответ
Я чувствую себя действительно глупо, но мой токен доступа не обновлялся в каком-то другом коде базы данных (это выглядело так, но это не так). Таким образом, токены доступа были недействительными, отсюда и ошибка. Если вы видите это, убедитесь, что ваш токен доступа действителен / самый последний токен!