官方文档

记录日期于2022-12-08,官方可能会随时更新计算方法,以官方为准;一千年以后请忽略此文。
e签宝请求签名鉴权官方文档地址。

官方给出了JAVA示例,但对JAVA不熟悉,难理解,搞得折腾浪费了一整天的时间,记录错误便于后来者。

PHP示例

生成待签字符串

  • 此处刚开始做的时候,犯了低级错误,所有数据都对了,就是写错了$Accept的值 文档要求的是*/*,我写成/;导致请求一直被拒绝,拒绝到怀疑人生。
  • 官方文档说的 URL也需要谨慎:不含主机信息,如:/v2/identity/auth/web/indivAuthUrl
  • 在我的使用中 签名的计算没有有用到 Headers,所以下列代码$headersStr的正确性没有进行验证。
/*** 生成请求签名* @param string $HTTPMethod 请求类型*/
private function getSignature(string $HTTPMethod, string $ContentMD5, string $Url, string $ContentType="application/json;charset=UTF-8", string $Accept="*/*",  $Date = null, array $Headers = null)
{$signString = "$HTTPMethod\n$Accept\n$ContentMD5\n$ContentType\n$Date\n";$headersStr = "";if (!empty($Headers)) {foreach ($Headers as $key => $val) {$headersStr .= "$key:$val\n";}}if (!empty($headersStr)) {$signString .= $headersStr."\n";}$signString .= $Url;// Log::write("signString: $signString","info");$signature = hash_hmac("sha256",utf8_encode($signString), utf8_encode($this->secret), true);$signatureBase64 = base64_encode($signature);return $signatureBase64;
}//getSignature end

生成Content-MD5

/*** 获取 ContentMD5 数据*/
private function getContentMD5($data)
{$datastr = json_encode($data);//官方给的示例代码是用 md5_file,但md5_file只针对文件,如果请求是json的话,还是需要用md5$md5Data = md5($datastr, true);return base64_encode($md5Data);
}//getContentMD5 end

其他

请求头,参照文档拼接上去即可,容易理解。
有一哥们进行了封装:其他大佬封装的代码

e签宝认证服务API PHP请求签名鉴权生成相关推荐

  1. 网关的其中一个重要功能,就是实现请求的鉴权:zuulFilter

    Zuul作为网关的其中一个重要功能,就是实现请求的鉴权.而这个动作我们往往是通过Zuul提供的过滤器来实现的. ZuulFilter ZuulFilter是过滤器的顶级父类.在这里我们看一下其中定义的 ...

  2. 腾讯云接口调用签名鉴权

    介绍 调用腾讯云接口需要很多公共参数,这些参数需要自己实现,有两种方法,一个是集成腾讯的SDK,直接引用jar包中的方法,一种是自己实现: 目前采用自己实现的方式,因为腾讯的SDK是一个工具包,东西太 ...

  3. PHP e签宝电子签名Saas API 对接流程

    一.流程 二.我们再熟悉下接口中这几个字段的意思 1.accountId 2.orgId 3.fileId 4.templateId 5.flowId 6.回调通知接收说明 三.Demo文档 1.官网 ...

  4. 同步纷享销客CRM合同数据至E签宝,实现全程无感完成电子合同签署!

    最新消息:纷享销客与E签宝官方已经合作,目前正在进行技术推进,纷享会以系统集成的方式使用E签宝. 一.纷享销客简介 纷享销客是连接型CRM优质服务商.纷享销客连接型CRM以开放的企业级通讯为基础架构, ...

  5. textarea实现datalist效果_同步纷享销客CRM合同数据至E签宝,实现全程无感完成电子合同签署!...

    最新消息:纷享销客与E签宝官方已经合作,目前正在进行技术推进,纷享会以系统集成的方式使用E签宝.1纷享销客简介 纷享销客是连接型CRM优质服务商.纷享销客连接型CRM以开放的企业级通讯为基础架构,以连 ...

  6. 微服务认证鉴权-API网关

    认证:验证这个用户是谁 鉴权:用户有哪些资源权限(页面.按钮.超链接.接口.接口字段) 授权:为用户添加资源权限 方案:客户端Token(JWT) 流程: 1.用户登录发起认证请求,认证服务执行认证流 ...

  7. API 鉴权插件上线!支持用户自定义鉴权插件

    0.4.0 版本更新主要围绕这几个方面: 分组独立的 UI,支持分组 API 鉴权 API 测试支持继承 API 鉴权 支持用户自定义鉴权插件,仅需部分配置即可发布鉴权插件 开始介绍功能之前,我想先和 ...

  8. openresty 请求鉴权

    openresty 请求鉴权 请求发往后端前,先对请求进行鉴权,鉴权通过发往后端 请求鉴权 auth_request 鉴权 请求发往后端前,auth_request发送子请求: 返回的状态码2xx,请 ...

  9. restfull加签_SpringBoot RestFull API签名

    一.需求如下 对指定的API路径进行签名认证,对于没有指定的无需认证,认证具体到方法. 二.查阅资料与开发 1.了解JWT,实际上用的开源jjwt 2.编写自定义注解 3.编写拦截器,主要是拦截特定的 ...

最新文章

  1. gi克隆github文件_如何构建GitHub文件搜索功能的克隆
  2. Cython——[FutureWarning: Cython directive ‘language_level’ not set, using 2 for now (Py2)]解决方案
  3. [机器学习] Boosting算法1 --- AdaBoost
  4. 工作335:uni-增加表单验证
  5. 淘宝京东设计师来看,电商Banner设计策略!
  6. 理解去中心化稳定币DAI
  7. MySQL 5.6.21 最新版的安装
  8. Sass含中文目录编译报错
  9. MapReduce环境准备
  10. Win12爆料,微软Windows 12计划3月份开始开发
  11. 大家身边有没有超级自恋的人
  12. Linux下RTL8723BE无线网卡驱动问题解决方法(转载)
  13. Android 传感器分类
  14. window10家庭版安装docker记录
  15. 观江怡之《分析哲学》
  16. Oracle数据库cmd命令基本命令
  17. 论文投稿-图片处理技巧
  18. 【STM32H7教程】第90章 STM32H7的CAN FD总线之关键知识点整理
  19. 论创新工场、职业发展、offer如何比较选择、移动互联网(全文完)
  20. 独角兽项目 7 - 从环境到测试

热门文章

  1. 什么是网站权重?网站权重查询方法有哪些?
  2. 论文阅读:2010-基于随机加工时间和模糊交货期的加工车间调度问题
  3. 串口助手发送数据到单片机并显示在液晶上
  4. iClient for Leaflet解决地图放大问题
  5. 找出11-999间的回文数m,m方,m三次方均为回文
  6. 设置随机种子的函数: srand(种子);的重要性
  7. vce题库制作/刷题软件/
  8. 安卓应用移植鸿蒙(二):移植安卓的字符串等资源文件到鸿蒙应用
  9. 【方向盘】因“双减”失业,厉经9面,终获美团外卖L8的Offer
  10. 推荐几款好用的截图软件