在 Javascript 内向 API 进行身份验证

Authenticate to API within Javascript

我有一个 API,我可以使用 Postman 客户端对其进行身份验证。使用 Postman,我可以在 header 中输入我的用户名和密码,然后收到一个访问令牌。

我想使用 Javascript 通过简单的 HTML 页面完成相同的身份验证。但是,我不确定如何制作 Javascript 请求并像我对 Postman 所做的那样传递我的用户名和密码。

在 Postman 的地址栏下有一个 link 表示 "Generate Code" 在以前的版本中它是一个带有 </> 符号的按钮。 单击 link 会打开一个带有下拉列表的弹出窗口,其中 Javascript 是一个选项,这将生成执行请求的代码。

密码通常被认为是私人的,如果您将其包含在您的 javascript 中,任何人都可以阅读它并以您的用户身份向 API 发出请求。 此外,浏览器的同源策略 - 除非另行配置,否则将阻止您向加载网页的域以外的域发送 ajax 请求。

相反,您应该使用托管在您域中的您选择的服务器端语言创建一个代理脚本,然后将您的 ajax 请求发送到此。 此脚本将通过 API 对您的凭据保密并 return 响应来执行相关操作。

让我也添加到其他答案中,使用 jQuery 您可以使用 $.get(), and a post request with $.post() 执行获取请求。但我会按照 Vector 的建议进行操作,并使用 Postman 生成 JavaScript。

您可以在 javascript 文件中使用 ajax 调用来做到这一点,您也可以使用 xhttprequest 来做到这一点。 ajax 调用示例: $.ajax({ url : url, //URL type : 'POST', // HTTP 方法 数据:数组, 内容类型:'application/json', 缓存:假, 成功:函数(数据){

                }, 
                error       : function (err) {

            });

在此您还可以添加 Headers 您可以在其中添加 api 访问令牌