【问题标题】:Requesting OAuth credentials with node使用节点请求 OAuth 凭据
【发布时间】:2020-11-13 20:03:15
【问题描述】:

我正在使用 node.js 实现 PayU API。这是 PayU 文档中编写的获取访问令牌的请求示例

curl -X POST https://secure.payu.com/pl/standard/user/oauth/authorize \
-d 'grant_type=client_credentials&client_id=145227&client_secret=12f071174cb7eb79d4aac5bc2f07563f'

这是一个 curl 请求,所以从命令行发送时效果很好,但我需要从 express 服务器发送。任何想法如何做到这一点?

【问题讨论】:

    标签: node.js express curl oauth payu


    【解决方案1】:

    您可以使用request 模块发出HTTP 请求。 request 的第一个参数可以是 URL 字符串,也可以是选项对象。

    url:HTTP请求的目标URL

    方法:要使用的 HTTP 方法(GET、POST、DELETE 等)

    headers:要在请求中设置的 HTTP 标头(键值)对象

    示例。

    var request = require('request');
    
    options = {
        "method":"POST",
        "url": "https://secure.payu.com/pl/standard/user/oauth/authorize",
        "headers": {
        "Content-Type": "application/x-www-form-urlencoded",
      },
      "body": "grant_type=client_credentials&client_id=145227&client_secret=12f071174cb7eb79d4aac5bc2f07563f"
    }
    
    request(options, function(err, res, body){
      if(err){
        console.log(err);
      }
      const data = JSON.parse(body);
      console.log(data.access_token)
    });
    
    
    

    【讨论】:

    • 你能告诉我我应该如何写整个请求吗?我之前已经尝试过了,但我没有成功,也许我做错了什么。这是我收到的回复body: '{"error":"unauthorized","error_description":"An Authentication object was not found in the SecurityContext"}'
    • 更新了我的答案。工作正常。
    猜你喜欢
    • 2019-12-04
    • 2019-10-12
    • 1970-01-01
    • 2015-12-29
    • 2016-10-12
    • 2015-03-06
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多