首先一般是在服务器上生成证书,将公钥保存在服务器上,并将私钥保存到uniapp app客户端。
request的时候将自己的私钥对信息进行签名后发送给服务器进行身份验证
// 发送请求
uni.request({
url: 'https://example.com/api/data',
method: 'POST',
data: requestData,
header: {
'content-type': 'application/json',
'Public-Key': publicKey, // 添加公钥到请求头
'Signature': signature, // 添加签名到请求头
},
success: (res) => {
console.log(res.data);
},
fail: (err) => {
console.error(err);
}
});服务端收到后签名后的文件与服务器端公钥进行校验匹配身份<?php
// 获取所有的请求头信息
$headers = [];
foreach ($_SERVER as $key => $value) {
if (strpos($key, 'HTTP_') === 0) {
$headers[str_replace('HTTP_', '', $key)] = $value;
}
}
// 输出请求头信息
foreach ($headers as $name => $value) {
echo "$name: $value <br>";
}
//找到Public-Key与Signature文件进行运算
?>
网友回复
如何修改别人发给我的微信笔记内容?
fbx、obj、glb三维格式模型如何在浏览器中通过three相互转换格式?
python如何实现基于http隧道加密的正向代理服务?
有没有有专门针对 UI 界面截图进行智能标记(Set-of-Mark, SoM) 的开源库和工具?
如何用python实现Set-of-Mark (SoM) 技术?
python如何截取windows指定应用的窗口截图,不用管窗口是不是在最前面?
linux能不能给rm删除命令增加回收站功能,可恢复被删文件?
bfwsoa如何在命令行中执行控制器动作器方法?
RAG(检索增强生成)和 KG(知识图谱)有啥不同?
KVM硬件是啥?


