簡體   English   中英

如何將參數傳遞給 http 請求,該請求以編程方式將 POST 有效負載作為表單數據

[英]how to pass parameters to an http request that call which takes the POST payload as form-data programmatically

我有一個接受正文作為表單數據的 HTTP POST 請求。

grant_type: client_credentials

當我在應用程序中使用這個 API 時,我需要將 client_id 和 client_secret 參數傳遞給這個調用。

到目前為止我有

   const postRequest = {
      url: 'https://address',
      method: 'POST',
      headers: {
        'authorization': 'Basic xyz',
        'content-type': 'application/x-www-form-urlencoded'
      },
     formData: {
        'grant_type': 'client_credentials'
      }
    };

如何在此請求中包含 id 和 secret? 我也試過

 formData: {
     'grant_type' : 'client_credentials',
     'client_id' :'id',
    'client_secret' : 'secret'
  }

如何使用 FormData 進行 AJAX 文件上傳?

這是一個 OAuth2 流程,您很可能需要在基本授權 header 中傳遞它。

  headers: {
    'authorization': 'Basic ' + btoa(`${clientId}:${clientSecret}`),
    'content-type': 'application/x-www-form-urlencoded'
  },

使用良好的現有 OAuth2 庫來處理繁重的工作會更好。 我已經開源了我的:

https://github.com/badgateway/oauth2-client

它會像這樣工作:

const client = new OAuth2Client({
  tokenEndpoint: 'https://address',
  clientId: '...',
  clientSecret: '...',
});
const result = await client.clientCredentials();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM