Office365 API: 令牌的签名无效
Office365 API: The token has an invalid signature
我目前正在尝试使用通过 adaljs 从前端获取的访问令牌从 php 后端查询 Office365 API。 API 来自前端的调用完美无缺。但是,api 从后端和 Postman 使用相同令牌的调用失败并出现错误: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);
});
获取 Office365 API(不是我的客户端应用程序)的令牌并存储在数据库中:
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",
设置正确
我觉得真的很傻,但我的访问令牌并没有在其他一些代码中更新到数据库(看起来像,但事实并非如此)。因此访问令牌无效,因此出现错误。如果您看到这个,请确保您的访问令牌是 valid/the 最近的令牌!
我目前正在尝试使用通过 adaljs 从前端获取的访问令牌从 php 后端查询 Office365 API。 API 来自前端的调用完美无缺。但是,api 从后端和 Postman 使用相同令牌的调用失败并出现错误: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);
});
获取 Office365 API(不是我的客户端应用程序)的令牌并存储在数据库中:
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",
设置正确
我觉得真的很傻,但我的访问令牌并没有在其他一些代码中更新到数据库(看起来像,但事实并非如此)。因此访问令牌无效,因此出现错误。如果您看到这个,请确保您的访问令牌是 valid/the 最近的令牌!