以下代码无法正常工作。授权类型是" client_credentials"。它返回状态为-1的null响应。 API没问题。这两个请求都适用于邮递员
var currentLocationdeferred = $q.defer();
var addressLocationdeferred = $q.defer();
currentLocationGeo.on("key_entered", function (key, location, distance) {
});
addressLocationGeo.on("key_entered", function (key, location, distance) {
});
currentLocationGeo.on("ready", function () {
currentLocationdeferred.resolve('any result');
});
addressLocationGeo.on("ready", function () {
addressLocationdeferred.resolve('any result 2');
});
$q.all([currentLocationdeferred.promise, addressLocationdeferred.promise]).then(function(result){
// result[0] == 'any result'
// result[1] == 'any result 2'
finalGeo.push(eachLocation);
})
以下代码与"密码"完美配合授予类型。
function authentication(user) {
return Restangular
.all('token')
.post('grant_type=client_credentials&client_id=' + APPLICATION.clientId + '&client_secret=' + 'XYZ',
undefined, { 'Content-Type': 'application/x-www-form-urlencoded' });
}
有什么问题?
答案 0 :(得分:0)
您似乎正在使用相同的client_id
拨打这些电话。第二个工作示例显示客户端是所谓的“公共客户端”,因为它在没有身份验证的情况下标识自己。您的第一个示例需要一个机密客户端,因为客户端需要在client_credentials
流中进行身份验证。这两者不能混合,因此看起来您的客户端在授权服务器上注册为公共客户端,因此根据定义它不能使用客户端凭据授权类型。