0

В настоящее время я пытаюсь запросить API Office365 с обратной стороны php, используя токен доступа, полученный из интерфейса пользователя через adaljs. API-вызовы с передней панели работают отлично. Тем не менее, API вызовы, используя один и тот же маркер с заднего конца и Почтальон завершаться с ошибкой: 2000000;reason="The token has an invalid signature.";error_category="invalid_signature"API Office365: токен имеет недопустимую подпись

передний конец (рабочий) пример:

$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 (не мой клиент приложения) и хранить в БД:

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

Ошибка означает, что подпись неверна. Я предлагаю вам использовать ** Fiddler ** для отслеживания токена доступа, который вы используете в ** Front End **. Затем вы можете сравнить его с токеном, с которым вы использовали PHP backend и Postman, чтобы узнать, отличается ли он. –

+0

Вы правы, спасибо! –

ответ

1

Я чувствую себя глупо, но мой доступ лексема WASN 't обновляется в каком-то другом коде в базе данных (это было похоже, но это не так). Таким образом, токены доступа были недействительны, следовательно, ошибка. Если вы видите это, убедитесь, что ваш токен доступа действителен/самый последний токен!