0

私は現在、adaljs経由でフロントエンドから取得したアクセストークンを使用して、PHPバックエンドからOffice365 APIを照会しようとしています。フロントエンドからのAPI呼び出しは完全に機能します。しかし、バックエンドとポストマンから同じトークンを使用してAPI呼び出しがエラーで失敗:2000000;reason="The token has an invalid signature.";error_category="invalid_signature"Office365 API:トークンに無効な署名があります

フロントエンド(作業)例:

$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); 
      }); 

は、Office365のAPI(ない私のクライアントアプリケーションのためのトークンを取得)と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

エラーは、署名が正しくないことを意味します。 ** Fiddler **を使用して、**フロントエンド**で使用するアクセストークンを追跡することをお勧めします。次に、PHPのバックエンドとPostmanを使用していたトークンと比較して、それが異なるかどうかを調べることができます。 –

+0

あなたはそうです、ありがとう! –

答えて

1

を設定している私は本当に愚かな感じるが、wasn私のアクセストークン他のコードではデータベースに更新されていません(それはそうですが、そうではありませんでした)。したがって、アクセストークンは無効で、したがってエラーです。これが表示されている場合は、アクセストークンが有効/最新のトークンであることを確認してください。

関連する問題