在关键配置服务器中拒绝访问的加密请求

时间:2018-03-07 14:27:50

标签: spring-cloud pivotal-cloud-foundry pivotal-web-services

当我运行下面的脚本时,我得到以下回复:

  

{"错误":" access_denied"," error_description":"访问被拒绝"}

如何解决这个问题?



const request = require('request');
 
request({
  url: 'access_token_uri',
  method: 'POST',
  auth: {
    user: 'client_id',
    pass: 'client_secret'
  },
  form: {
    'grant_type': 'client_credentials'
  }
}, function(err, res) {
  var json = JSON.parse(res.body);
  encrypt(json.access_token, 'word');
});

function encrypt(token, word){
  request({
    url: 'uri/encrypt',
    method: 'POST',
    auth: {
      'bearer': token
    },
    body: word
  }, function(err, res) {
    console.log(res.body);
  });
}




1 个答案:

答案 0 :(得分:1)

从你的样本中说出来有点难,但我认为你得到了错误类型的令牌。对于/encrypt端点,您需要基于密码的令牌。

有关更多信息,请参阅Get a Password Credentials Access Token部分(我无法直接链接到该部分,您必须使用上一个链接向下滚动它)。

这个过程基本上是这样的:

  1. cf login
  2. cf oauth-token
  3. curl -H "Authorization: <oauth-token>" https://uri/encrypt -d 'Value to be encrypted'
  4. 如果您想查看cf cli正在使用的API,您可以export CF_TRACE=true(Bash)或set CF_TRACE=true(Windows)然后重复这些命令。这将转储HTTP请求/响应信息。