撤消salesforce令牌nodejs

时间:2015-10-11 12:23:07

标签: node.js oauth salesforce

我正尝试使用nodejshttps requestGET方法尝试)从POST撤销salesforce令牌。

这是我GET method

的代码
var token = user.token;
var uri = token.instanceUrl+'/services/oauth2/revoke?token='+token.accessToken;
console.log("data: "+postData+", options: "+JSON.stringify(postOptions)+ ", \r\n" + uri);
https.get(uri, function(response){
    var buffer = '';
    console.log(response.statusCode);
    response.on('data', function (chunk) {
        buffer += chunk;
    });
    response.on('end', function(){
        console.log(buffer);
    });
});

但我继续这个

error=unsupported_token_type&error_description=this%20token%20type%20is%20not%20supported, code: 400

我还在浏览器中尝试过该地址并获得400 Bad Request状态。

根据salesforce在线文档https://help.salesforce.com/apex/HTViewHelpDoc?id=remoteaccess_revoke_token.htm&language=en

设置了所有必需选项

我错过了什么使它成为一个糟糕的请求?

1 个答案:

答案 0 :(得分:0)

我正在向您展示如何使用request模块执行此操作:

var request = require('request')
request.post('https://login.salesforce.com/services/oauth2/revoke', {
  form: {
    token: '[ACCESS_TOKEN]'
  },
  followAllRedirects: true
}, function (err, res, body) {})

不知道您尝试使用的是哪个网址,但所有用户的登录网址都相同,您不必使用您的实例子网域。

还要从他们的文档中注意到这一点:

  

对于沙箱,请使用test.salesforce.com而不是login.salesforce.com。