【问题标题】:How to make a http request to an api using a token for authorization?如何使用令牌向 api 发出 http 请求以进行授权?
【发布时间】:2018-01-05 00:02:48
【问题描述】:
  1. 我必须通过向指定地址发送请求来获取令牌。我用过

    $ curl $ curl -XPOST -H "Content-Type: application/json" -d '{ "client_id": "xxx", "client_secret": "11111111", "grant_type": "client_credentials", "scope": "public" }' "https://example.com/auth/token"
    
  2. 我得到了令牌abcdefg12345

  3. 现在我必须使用该令牌向这个 url 端点(包括如下所示的参数)发出请求:

    $ curl -XGET -H "Authorization: Bearer {access_token}" "https://example.com/api/vacations/search?country=us&locale=en-US&price=affortable"
    

我对 api 请求不太熟悉,但试图研究它,所以我想做的是:

http.get("https://example.com/api/vacations/search?country=us&locale=en-US&price=affortable"+"&token=abcdefg12345")

不幸的是,这不起作用,我得到了这个:“访问令牌未授权” 有人可以帮忙吗?我也不太确定 Bearer 令牌是否与“常规”令牌不同,并且请求必须不同?也不确定将参数留在 url 端点中是否正确,或者我应该这样指定它们:

http.get("https://example.com/api/vacations/search?"+params+"&token=abcdefg12345", {params:country='us', price:affordable})

非常感谢!

【问题讨论】:

  • 您可能需要将令牌放在请求标头中:Authorization: Bearer <token> 或类似的东西。检查你正在使用的 api 的文档,以及你用来做 get 的类的文档,看看如何添加标题。

标签: javascript api httprequest token access-token


【解决方案1】:

你会使用

$ curl -H "Authorization: Bearer abcdefg12345" "https://example.com/api/vacations/search?country=us&locale=en-US&price=affortable"

你试过了吗?结果如何?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-01
    • 2018-02-06
    • 2017-12-26
    • 2018-08-17
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    相关资源
    最近更新 更多