axios- digest- auth (英语)
概览
一个执行 HTTP 文摘认证的库,其方式应当为任何 也使用 Axios 的项目。 可以在节点.js和浏览器环境中使用.
这个库不附属于Axios项目或其维护者,除了它的输入/输出数据结构与Axios使用的相同外,它依赖于Axios.
这是叉子 @mhoc/xios-digest-auth (英语) 软件包
这一改进版的软件包增加了以下支持:
- 返回来自服务器的“ opaque” 值,作为响应头的一部分(参见 RFC 7616 (英语)(中文(简体) )
- 为请求数据添加通用
安装
$ npm i @acidemic/axios-digest-auth
基本用途
import AxiosDigestAuth from '@acidemic/axios-digest-auth';
const digestAuth = new AxiosDigestAuth({
username: "myDigestUsername",
password: "myDigestPassword",
});
const MakeARequest = async () => {
const response = await digestAuth.request({
headers: { Accept: "application/json" },
method: "GET",
url: "https://cloud.mongodb.com/api/atlas/v1.0/groups",
});
}
API 密码
类 Axios- DigestAuth
import AxiosDigestAuth from "@acidemic/axios-digest-auth";
用于存储用户名/ 密码句状态并执行请求的应用程序配置类 .
新建 AxiosDigestAuth () 密码
const options: AxiosDigestAuthOpts = {
axios,
password,
username,
};
const axiosDigestAuthInst = new AxiosDigestAuth(options);
- => Axios Digest AuthOpts (美国英语): 输入对象(见下文)
请求( )
import * as axios from "axios";
// you dont have to import this or add it to your package.json.
// just using it to outline where these types are coming from.
const ExecuteMyRequest = async () => {
const requestOptions: axios.AxiosRequestConfig = {
headers: { Accept: "application/json" },
method: "GET",
url: "https://cloud.mongodb.com/api/atlas/v1.0/groups",
};
const response: axios.AxiosResponse = await axiosDigestAuthInst.request(requestOptions);
};
执行一个请求。 3⁄4 ̄ ̧漯B.
接口 AxiosDigestAuthOpts
import { AxiosDigestAuthOpts } from "@acidemic/axios-digest-auth";
- axios(轴). Axios QQ 未定义):可选择提供提出请求的轴向对象。 如果不提供, Axios- digest- auth 将只使用 Axios 库默认导出为您创建一个, 没有配置 .
- 密码( 字符串):要使用的HTTP文摘认证密码.
- 用户名( 字符串):要使用的HTTP文摘认证用户名.
检查出来 文档网站 更多信息 关于用法.
浏览器中使用 Webpack 和 Typescript
该模块使用某些内置的节点.js模块. 要在浏览器中使用,您需要包含每个模块的多填充.
首先,通过在终端中执行以下命令来安装所有必要的模块:
npm install crypto-browserify buffer stream-browserify url
下一个,在您的 Webpack 配置文件中添加一个倒计时(通常名为webpack.config.js):
module.exports = {
//...
resolve: {
fallback: {
"crypto": require.resolve("crypto-browserify"),
"buffer": require.resolve("buffer/"),
"stream": require.resolve("stream-browserify"),
"url": require.resolve("url/")
},
},
};