Axios with Mutual TLS:如何提供凭据



在浏览器中,我可以从带有脚本标签的CDN加载Axios:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

然而,用于双向TLS的类https.Agent不存在,也不清楚如何加载它

const httpsAgent = new https.Agent({
  rejectUnauthorized: false, 
  cert: ...,
  key: ...
})
....
axios.post('https://....', {...}, { httpsAgent } )

控制台中的错误:未捕获引用错误:未定义https

本地示例通常显示require(如下(,但https应该可以从类似unpkg的CDN加载?

const https = require('https');
const axios = require("axios");

(附言:谷歌搜索"https"没用(

我使用客户端浏览器证书解决了这个问题。当web服务器启用SSL客户端验证时,它将请求客户端证书。使用这种技术,证书是带外传递的,而不是Axios post((调用。

在Nginx上,可以使用确定用于验证证书的CA的ssl_verify_clientssl_trusted_certificate进行配置。在初始TLS交换期间,用户浏览器中的弹出窗口将提示他们选择要发送的证书。

用户必须在浏览器中配置客户端.p12(证书和密钥的组合(。在Chrome上:

Chrome首选项>隐私和安全(附加设置(>管理证书

HTTPS请求可以在没有显式身份验证的情况下进行:

    axios.post('https:....., dataArg)

相关内容

最新更新