繁体   English   中英

带有主体的Https发布请求

[英]Https Post Request with body

我需要从Microsoft AD获取令牌,为此,我需要向BODY发出POST请求。 我有这段代码,它返回主体中缺少的grant_type参数的错误。 我想这只是不送尸体。 如何配置请求发送主体?

任何帮助将不胜感激!

这是我的代码:

var options = {
    hostname:  'login.microsoftonline.com',
    path: '/common/oauth2/token',           
    method: 'POST',
    headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        },
    data:{
            grant_type: oauthData.grant_type,
            client_id: oauthData.client_id,
            code: oauthData.code,
            redirect_uri: oauthData.redirect_uri,
            resource: oauthData.resource
         }    
  };

function requestToken(options){
    var req = https.request(options, function(res) {
        console.log("statusCode: ", res.statusCode);
        console.log("headers: ", res.headers);

        res.on('data', function(d) {
            process.stdout.write(d);
        });
    });
    req.end();

    req.on('error', function(e) {
        console.error('---- Error ----');
        console.error(e);
    });
}//end of requestToken()

它没有发送正文,因为您没有告诉req对象。

  1. 从选项中删除data {}对象。
  2. 向请求添加一个req.write()。
req.write(qs.stringify({ 
grant_type: 'authorization_code',
client_id: config.clientId,
scope: config.scope,
client_secret: config.clientSecret,
tenant: config.tenant
}))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM