首页 > 解决方案 > 如何将不记名令牌分配给javaScript中的授权标头

问题描述

我正在尝试从需要不记名令牌的 instructure-canvas API 发出 GET 请求。我可以通过 Postman 和他们提供给我的 curl 命令来做到这一点:

curl -H "Authorization: Bearer <ACCESS-TOKEN>" "https://canvas.instructure.com/api/v1/courses"

这两种方法都有效,我返回了正确的 json 数据。但是,我想知道是否存在在 JavaScript 中执行相同操作的方法(有或没有其他库/框架)。抱歉,如果这是微不足道的,我对使用 API 非常陌生。

标签: javascriptapibearer-token

解决方案


如果您从浏览器发出请求,则可以使用Fetch API。它看起来有点像这样:

const url = ""; // API URL
const token = ""; // API Token
const method = "GET"; // Request method, change for what's needed

fetch(url, {
    method,
    headers: {
        "Authorization": `Bearer ${token}` // This is the important part, the auth header
    }
}).then(res => res.json().then(console.log)).catch(console.error); // Do better handling here

根据服务器设置,您可能需要额外的标头。还要留意控制台是否存在与 COR 相关的错误,因为它们会再次根据服务器的配置方式而有所不同。


推荐阅读