e签宝认证服务API PHP请求签名鉴权生成
官方文档
记录日期于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请求签名鉴权生成相关推荐
- 网关的其中一个重要功能,就是实现请求的鉴权:zuulFilter
Zuul作为网关的其中一个重要功能,就是实现请求的鉴权.而这个动作我们往往是通过Zuul提供的过滤器来实现的. ZuulFilter ZuulFilter是过滤器的顶级父类.在这里我们看一下其中定义的 ...
- 腾讯云接口调用签名鉴权
介绍 调用腾讯云接口需要很多公共参数,这些参数需要自己实现,有两种方法,一个是集成腾讯的SDK,直接引用jar包中的方法,一种是自己实现: 目前采用自己实现的方式,因为腾讯的SDK是一个工具包,东西太 ...
- PHP e签宝电子签名Saas API 对接流程
一.流程 二.我们再熟悉下接口中这几个字段的意思 1.accountId 2.orgId 3.fileId 4.templateId 5.flowId 6.回调通知接收说明 三.Demo文档 1.官网 ...
- 同步纷享销客CRM合同数据至E签宝,实现全程无感完成电子合同签署!
最新消息:纷享销客与E签宝官方已经合作,目前正在进行技术推进,纷享会以系统集成的方式使用E签宝. 一.纷享销客简介 纷享销客是连接型CRM优质服务商.纷享销客连接型CRM以开放的企业级通讯为基础架构, ...
- textarea实现datalist效果_同步纷享销客CRM合同数据至E签宝,实现全程无感完成电子合同签署!...
最新消息:纷享销客与E签宝官方已经合作,目前正在进行技术推进,纷享会以系统集成的方式使用E签宝.1纷享销客简介 纷享销客是连接型CRM优质服务商.纷享销客连接型CRM以开放的企业级通讯为基础架构,以连 ...
- 微服务认证鉴权-API网关
认证:验证这个用户是谁 鉴权:用户有哪些资源权限(页面.按钮.超链接.接口.接口字段) 授权:为用户添加资源权限 方案:客户端Token(JWT) 流程: 1.用户登录发起认证请求,认证服务执行认证流 ...
- API 鉴权插件上线!支持用户自定义鉴权插件
0.4.0 版本更新主要围绕这几个方面: 分组独立的 UI,支持分组 API 鉴权 API 测试支持继承 API 鉴权 支持用户自定义鉴权插件,仅需部分配置即可发布鉴权插件 开始介绍功能之前,我想先和 ...
- openresty 请求鉴权
openresty 请求鉴权 请求发往后端前,先对请求进行鉴权,鉴权通过发往后端 请求鉴权 auth_request 鉴权 请求发往后端前,auth_request发送子请求: 返回的状态码2xx,请 ...
- restfull加签_SpringBoot RestFull API签名
一.需求如下 对指定的API路径进行签名认证,对于没有指定的无需认证,认证具体到方法. 二.查阅资料与开发 1.了解JWT,实际上用的开源jjwt 2.编写自定义注解 3.编写拦截器,主要是拦截特定的 ...
最新文章
- gi克隆github文件_如何构建GitHub文件搜索功能的克隆
- Cython——[FutureWarning: Cython directive ‘language_level’ not set, using 2 for now (Py2)]解决方案
- [机器学习] Boosting算法1 --- AdaBoost
- 工作335:uni-增加表单验证
- 淘宝京东设计师来看,电商Banner设计策略!
- 理解去中心化稳定币DAI
- MySQL 5.6.21 最新版的安装
- Sass含中文目录编译报错
- MapReduce环境准备
- Win12爆料,微软Windows 12计划3月份开始开发
- 大家身边有没有超级自恋的人
- Linux下RTL8723BE无线网卡驱动问题解决方法(转载)
- Android 传感器分类
- window10家庭版安装docker记录
- 观江怡之《分析哲学》
- Oracle数据库cmd命令基本命令
- 论文投稿-图片处理技巧
- 【STM32H7教程】第90章 STM32H7的CAN FD总线之关键知识点整理
- 论创新工场、职业发展、offer如何比较选择、移动互联网(全文完)
- 独角兽项目 7 - 从环境到测试